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); }
/// <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; }