private void TimerCallback (object state) { try { if (_startupTimer != null) _startupTimer.Dispose (); // all caches using (AccountClient ac = new AccountClient ()) { if (!ac.ProfileGet ().HasErrors) { UserContext.Current.Person = ac.GetProfileResult; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.ProfileGet"); if (!String.IsNullOrWhiteSpace (UserContext.Current.Person.CorporationNumber1)) { // get corporate offices for addresses if (!ac.GetCorpAddresses (UserContext.Current.Person.CorporationNumber1, false).HasErrors) { UserContext.Current.ProfileCorpAddresses = ac.GetCorpAddressesResult; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.CORPAddressesGet"); } // get corporate requirments if (!ac.GetCorpRequirements (UserContext.Current.Person.CorporationNumber1, false).HasErrors) { UserContext.Current.ProfileCorpRequirements = ac.GetCorpRequirementsResult; UserContext.Current.SpecialBillingRequirementQuestions = ac.GetCorpSpecialBillingResult; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.CORPRequirementsGet"); } // NOTE: Corp credit cards are retrieved during ProfileCreditCards get, so we don't need a separate call // get corporate credit cards /* if (!ac.CorporateCreditCardsGet(false).HasErrors) { UserContext.Current.ProfileCorporateCreditCards = ac.GetCorporateCreditCardsResult.Results; LogContext.Current.Log<CacheContext>("UserContext.TimerCallback.CORPCreditCardsGet"); }*/ } } if (!ac.RolesGet ().HasErrors) { UserContext.Current.UserRoles = ac.GetRoleseResult; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.RolesGet"); } UpdateProfileCreditCards (ac); if (!ac.GetAddresses ().HasErrors) { UserContext.Current.ProfileAddresses = ac.GetAddressesResult; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.AddressesGet"); } /* if (!ac.ProfileGet().HasErrors) { _updatedCaches.Add(CacheId.Airport); CacheContext.Current.Airports = c.GetAirportsResult.Results; LogContext.Current.Log<CacheContext>("TimerCallback.Airports", c.GetAirportsResult.Results.Count()); } else _cacheErrors.Add(CacheId.Airport, c.ErrorMessage); //} // vehicles // if (ShouldDownload(CacheId.Vehicle, serverCacheList)) // { if (!c.GetVehicles().HasErrors) { _updatedCaches.Add(CacheId.Vehicle); CacheContext.Current.Vehicles = c.GetVehiclesResult.Results; LogContext.Current.Log<CacheContext>("TimerCallback.Vehicles", c.GetVehiclesResult.Results.Count()); } else _cacheErrors.Add(CacheId.Vehicle, c.ErrorMessage); // } // airlines // if (ShouldDownload(CacheId.Airline, serverCacheList)) // { if (!c.GetAirlines().HasErrors) { _updatedCaches.Add(CacheId.Airline); CacheContext.Current.Airlines = c.GetAirlineResult.Results; LogContext.Current.Log<CacheContext>("TimerCallback.Airlines", c.GetAirlineResult.Results.Count()); } else _cacheErrors.Add(CacheId.Airline, c.ErrorMessage); // } // CacheContext.Current.LocalCacheList = serverCacheList; if (this.CachesLoaded != null) this.CachesLoaded(this); */ } } catch (Exception ex) { LogContext.Current.Log<UserContext> ("UserContext.TimerCallback.Error", ex); if (LogContext.CrashReportEnabled && Settings.Current.EnableCrashReportExecution) { Insights.Report (ex); } _startError = ex.Message; } NotifyCompleted (); }
public async void UpdateProfileCreditCardsAsync () { using (AccountClient ac = new AccountClient ()) { await Task.Factory.StartNew (() => UpdateProfileCreditCards (ac)); } }
public void UpdateProfileCreditCards (AccountClient ac = null) { if (!ApplicationContext.Current.IsLoggedIn) return; if (ac == null) using (var ac2 = new AccountClient ()) UpdateProfileCreditCards (ac2); else { if (!ac.ProfileCreditCardsGet ().HasErrors) { // default credit cards to display in descending order, theorizing that the last one added is the preferred card to use var profileCards = ac.GetProfileCreditCardsResult.Results.OrderBy (cc => cc.CreditCardID).ToArray (); UserContext.Current.ProfileCreditCards = profileCards; LogContext.Current.Log<CacheContext> ("UserContext.TimerCallback.ProfileCreditCardsGet"); } } }
public CreditCard[] GetProfileCreditCardsDetailed (AccountClient ac = null) { if (!ApplicationContext.Current.IsLoggedIn) return new CreditCard[0]; if (ac == null) using (var ac2 = new AccountClient ()) return GetProfileCreditCardsDetailed (ac2); else { if (!ac.ProfileCreditCardsDetailedGet ().HasErrors) { // default credit cards to display in descending order, theorizing that the last one added is the preferred card to use var detailedCards = ac.GetProfileCreditCardsDetailedResult.Results.OrderBy (cc => cc.UniqueID).ToArray (); return detailedCards; } } return new CreditCard[0]; }