internal bool Save(object controller, QBAuthorizationdto qbAuthorizationdto)
        {
            oAuthRepo = new Dictionary <string, QBAuthorizationdto>();
            integrationsOptionsController = controller as System.Web.Mvc.Controller;
            var    chars     = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            Random random    = new Random();
            string secretKey = new string(
                Enumerable.Repeat(chars, 8)
                .Select(s => s[random.Next(s.Length)])
                .ToArray());

            integrationsOptionsController.TempData["secretKey"] = secretKey;
            oAuthRepo.Add(secretKey, qbAuthorizationdto);
            integrationsOptionsController.TempData["OAuthorization"] = oAuthRepo;
            integrationsOptionsController.TempData.Keep();
            return(true);
        }
        public QBAuthorizationdto IsTokenAvailable(object oauthController, int siteCoID)
        {
            var oAuthDetails = new QBAuthorizationdto();

            using (var db = new ePontiv2Entities())
            {
                CoQuickBooks currentIndex = db.CoQuickBooks.Where(p => p.SiteCoID == siteCoID).FirstOrDefault();
                if (currentIndex != null)
                {
                    string testAccesToken = Utility.Decrypt(Encoding.UTF8.GetString(currentIndex.AccessToken), oAuthDetails.SecurityKey);
                    oAuthDetails.AccessToken       = testAccesToken;
                    oAuthDetails.AccessTokenSecret = currentIndex.apiSecret;
                    oAuthDetails.IsConnected       = true;
                    oAuthDetails.DataSource        = currentIndex.DataSource;
                    oAuthDetails.Realmid           = currentIndex.RealmID;
                    Save(oauthController, oAuthDetails);
                }
            }
            return(oAuthDetails);
        }
Esempio n. 3
0
 /// <summary>
 /// allocate memory for service context objects
 /// </summary>
 /// <param name="oAuthorization"></param>
 public DataserviceFactory(QBAuthorizationdto oAuthorization)
 {
     try
     {
         oAuthRequestValidator = new OAuthRequestValidator(
             oAuthorization.AccessToken,
             oAuthorization.AccessTokenSecret,
             oAuthorization.ConsumerKey,
             oAuthorization.ConsumerSecret);
         intuitServicesType = oAuthorization.DataSource == "QBO" ? IntuitServicesType.QBO : IntuitServicesType.None;
         serviceContext     = new ServiceContext(oAuthorization.Realmid.ToString(), intuitServicesType, oAuthRequestValidator);
         serviceContext.IppConfiguration.BaseUrl.Qbo      = ConfigurationManager.AppSettings["ServiceContext.BaseUrl.Qbo"];
         serviceContext.IppConfiguration.MinorVersion.Qbo = "4";
         //serviceContext.IppConfiguration.Logger.RequestLog.EnableRequestResponseLogging = true;
         // serviceContext.IppConfiguration.Logger.RequestLog.ServiceRequestLoggingLocation = ConfigurationManager.AppSettings["ServiceRequestLoggingLocation"];
         serviceContext.RequestId = GetGuid();
         getServiceContext        = serviceContext;
         dataService = new DataService(serviceContext);
     }
     catch (Intuit.Ipp.Exception.FaultException ex)
     {
         throw ex;
     }
 }
 internal QBAuthorizationdto GetAccessTokenFromServer(object IntegratedoptionsController, QBAuthorizationdto qbAuthorizationdto)
 {
     try
     {
         IToken accessToken = qbAuthorizationdto.OAuthSession.ExchangeRequestTokenForAccessToken(qbAuthorizationdto.Token, qbAuthorizationdto.OauthVerifyer);
         qbAuthorizationdto.AccessToken       = accessToken.Token;
         qbAuthorizationdto.AccessTokenSecret = accessToken.TokenSecret;
         qbAuthorizationdto.IsConnected       = true;
         return(qbAuthorizationdto);
     }
     catch (Intuit.Ipp.Exception.FaultException ex)
     {
         throw ex;
     }
     catch (Intuit.Ipp.Exception.InvalidTokenException ex)
     {
         throw ex;
     }
     catch (Intuit.Ipp.Exception.SdkException ex)
     {
         throw ex;
     }
 }
 public QBOAuthService(QBAuthorizationdto oAuthDto)
 {
     qbAuthorizationdto = oAuthDto;
 }