internal static ServiceContext InitializeQBOServiceContextUsingoAuth() { if (counter == 0) { //if(tokenDict.Count == 0) Initialize(); } else { //Load the second json file FileInfo fileinfo = new FileInfo(AuthorizationKeysQBO.tokenFilePath); string jsonFile = File.ReadAllText(fileinfo.FullName); var jObj = JObject.Parse(jsonFile); AuthorizationKeysQBO.accessTokenQBO = jObj["Oauth2Keys"]["AccessToken"].ToString(); AuthorizationKeysQBO.refreshTokenQBO = jObj["Oauth2Keys"]["RefreshToken"].ToString(); } ServiceContext context = null; OAuth2RequestValidator reqValidator = null; try { reqValidator = new OAuth2RequestValidator(AuthorizationKeysQBO.accessTokenQBO); context = new ServiceContext(AuthorizationKeysQBO.realmIdIAQBO, IntuitServicesType.QBO, reqValidator); context.IppConfiguration.MinorVersion.Qbo = "54"; context.IppConfiguration.BaseUrl.Qbo = "https://sandbox-quickbooks.api.intuit.com/"; DataService.DataService service = new DataService.DataService(context); var compinfo = service.FindAll <CompanyInfo>(new CompanyInfo()); //Add a dataservice call to check 401 return(context); } catch (IdsException ex) { if (ex.Message == "Unauthorized-401") { //oauthClient = new OAuth2Client(AuthorizationKeysQBO.clientIdQBO, AuthorizationKeysQBO.clientSecretQBO, AuthorizationKeysQBO.redirectUrl, AuthorizationKeysQBO.appEnvironment); //var tokenResp = oauthClient.RefreshTokenAsync(AuthorizationKeysQBO.refreshTokenQBO).Result; //if (tokenResp.AccessToken != null && tokenResp.RefreshToken != null) //{ // FileInfo fileinfo = new FileInfo(AuthorizationKeysQBO.tokenFilePath); // string jsonFile = File.ReadAllText(fileinfo.FullName); // var jObj = JObject.Parse(jsonFile); // jObj["Oauth2Keys"]["AccessToken"] = tokenResp.AccessToken; // jObj["Oauth2Keys"]["RefreshToken"] = tokenResp.RefreshToken; // string output = JsonConvert.SerializeObject(jObj, Formatting.Indented); // File.WriteAllText(fileinfo.FullName, output); var serviceContext = Helper.GetNewTokens_ServiceContext(); return(serviceContext); } else { throw; } } }
internal static List <T> FindAll <T>(ServiceContext context, T entity, int startPosition = 1, int maxResults = 100) where T : IEntity { DataService.DataService service = new DataService.DataService(context); ReadOnlyCollection <T> entityList = service.FindAll(entity, startPosition, maxResults); return(entityList.ToList <T>()); }
internal static ServiceContext InitializeServiceContextQbo() { #region oldcode //string accessToken = ConfigurationManager.AppSettings["AccessTokenQBO"]; //string accessTokenSecret = ConfigurationManager.AppSettings["AccessTokenSecretQBO"]; //string consumerKey = ConfigurationManager.AppSettings["ConsumerKeyQBO"]; //string consumerSecret = ConfigurationManager.AppSettings["ConsumerSecretQBO"]; //string realmId = ConfigurationManager.AppSettings["realmIAQBO"]; ////OAuthRequestValidator oauthValidator = new OAuthRequestValidator(accessToken, accessTokenSecret, consumerKey, consumerSecret); //OAuth2RequestValidator oauthValidator = new OAuth2RequestValidator("bearertoken"); //ServiceContext serviceContext = new ServiceContext(realmId, IntuitServicesType.QBO, oauthValidator); //return serviceContext; #endregion if (counter == 0) { Initialize(); } else { //Load the second json file FileInfo fileinfo = new FileInfo(AuthorizationKeysQBO.tokenFilePath); string jsonFile = File.ReadAllText(fileinfo.FullName); var jObj = JObject.Parse(jsonFile); AuthorizationKeysQBO.accessTokenQBO = jObj["Oauth2Keys"]["AccessToken"].ToString(); AuthorizationKeysQBO.refreshTokenQBO = jObj["Oauth2Keys"]["RefreshToken"].ToString(); } ServiceContext context = null; OAuth2RequestValidator reqValidator = null; try { reqValidator = new OAuth2RequestValidator(AuthorizationKeysQBO.accessTokenQBO); context = new ServiceContext(AuthorizationKeysQBO.realmIdIAQBO, IntuitServicesType.QBO, reqValidator); context.IppConfiguration.MinorVersion.Qbo = "43"; DataService.DataService service = new DataService.DataService(context); var compinfo = service.FindAll <CompanyInfo>(new CompanyInfo()); return(context); } catch (IdsException ex) { if (ex.Message == "Unauthorized-401") { var serviceContext11 = Helper.GetNewTokens_ServiceContext(); return(serviceContext11); } else { throw; } } }
internal static ServiceContext InitializeServiceContextQbo(string status = null) { if (counter == 0) { Initialize(); } else { //Load the second json file FileInfo fileinfo = new FileInfo(AuthorizationKeysQBO.tokenFilePath); string jsonFile = File.ReadAllText(fileinfo.FullName); var jObj = JObject.Parse(jsonFile); AuthorizationKeysQBO.accessTokenQBO = jObj["Oauth2Keys"]["AccessToken"].ToString(); AuthorizationKeysQBO.refreshTokenQBO = jObj["Oauth2Keys"]["RefreshToken"].ToString(); } ServiceContext context = null; OAuth2RequestValidator reqValidator = null; try { if (status == "Invalid") { reqValidator = new OAuth2RequestValidator(status); } else { reqValidator = new OAuth2RequestValidator(AuthorizationKeysQBO.accessTokenQBO); } context = new ServiceContext(AuthorizationKeysQBO.realmIdIAQBO, IntuitServicesType.QBO, reqValidator); context.IppConfiguration.MinorVersion.Qbo = "37"; DataService.DataService service = new DataService.DataService(context); var compinfo = service.FindAll <CompanyInfo>(new CompanyInfo()); return(context); } catch (IdsException ex) { if (ex.Message == "Unauthorized-401") { var serviceContext11 = Helper.GetNewTokens_ServiceContext(); return(serviceContext11); } else { throw; } } }