Advertisement
IDNPeterL

DevDefined - Get QBO Invoices and Deserialize response

Jan 17th, 2013
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.04 KB | None | 0 0
  1. protected IEnumerable<Invoice> GetInvoicesWithOpenBalance(DataServices dataServices, int startPage, int resultsPerPage)
  2.     {
  3.         try
  4.         {
  5.             Intuit.Ipp.Security.OAuthRequestValidator oAuthRequestValidator = ((Intuit.Ipp.Security.OAuthRequestValidator)dataServices.ServiceContext.RequestValidator);
  6.  
  7.             OAuthConsumerContext consumerContext = new OAuthConsumerContext
  8.             {
  9.                 ConsumerKey = oAuthRequestValidator.ConsumerKey,
  10.                 SignatureMethod = SignatureMethod.HmacSha1,
  11.                 ConsumerSecret = oAuthRequestValidator.ConsumerSecret
  12.             };
  13.  
  14.             OAuthSession oSession = new OAuthSession(consumerContext, "https://www.example.com",
  15.                                     "https://www.example.com",
  16.                                     "https://www.example.com");
  17.  
  18.             oSession.AccessToken = new TokenBase
  19.             {
  20.                 Token = oAuthRequestValidator.AccessToken,
  21.                 ConsumerKey = oAuthRequestValidator.ConsumerKey,
  22.                 TokenSecret = oAuthRequestValidator.AccessTokenSecret
  23.             };
  24.  
  25.             var body = "PageNum={0}&ResultsPerPage={1}&Filter=OpenBalance :GreaterThan: 0.01";
  26.             body = String.Format(body, startPage, resultsPerPage);
  27.  
  28.             IConsumerRequest conReq = oSession.Request();
  29.             conReq = conReq.Post().WithRawContentType("application/x-www-form-urlencoded").WithRawContent(System.Text.Encoding.ASCII.GetBytes(body)); ;
  30.             conReq = conReq.ForUrl(dataServices.ServiceContext.BaseUrl + "invoices/v2/" + dataServices.ServiceContext.RealmId);
  31.             conReq = conReq.SignWithToken();
  32.  
  33.             Intuit.Ipp.Data.Qbo.SearchResults searchResults = (Intuit.Ipp.Data.Qbo.SearchResults)dataServices.ServiceContext.Serializer.Deserialize<Intuit.Ipp.Data.Qbo.SearchResults>(conReq.ReadBody());
  34.             return ((Intuit.Ipp.Data.Qbo.Invoices)searchResults.CdmCollections).Invoice;
  35.  
  36.         }
  37.         catch (Exception)
  38.         {
  39.  
  40.             return null;
  41.         }
  42.  
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement