Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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>());
        }
Beispiel #3
0
        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;
                }
            }
        }