public JsonResult Accounts() { var oEsi = new FreeAgentServiceInfo(); var freeagents = this.customer .CustomerMarketPlaces .Where(mp => mp.Marketplace.InternalId == oEsi.InternalId) .Select(FreeAgentAccountModel.ToModel) .ToList(); return(Json(freeagents, JsonRequestBehavior.AllowGet)); } // Accounts
} // FreeAgentCallback private FreeAgentAccountModel SaveFreeAgentTrn(AccessTokenContainer accessTokenContainer, string approvalToken) { FreeAgentAccountModel oResult = null; Transactional.Execute(() => { var oEsi = new FreeAgentServiceInfo(); int marketPlaceId = this.mpTypesRepo .GetAll() .First(a => a.InternalId == oEsi.InternalId) .Id; log.Info("Fetching company data for customer {0}...", this.customer.Name); FreeAgentCompany freeAgentCompany = null; try { freeAgentCompany = this.connector.GetCompany(accessTokenContainer.access_token); } catch (Exception ex) { log.Error(ex, "Error getting FreeAgent's company. Will use customer mail as the account display name."); } // try var securityData = new FreeAgentSecurityInfo { ApprovalToken = approvalToken, AccessToken = accessTokenContainer.access_token, ExpiresIn = accessTokenContainer.expires_in, TokenType = accessTokenContainer.token_type, RefreshToken = accessTokenContainer.refresh_token, MarketplaceId = marketPlaceId, Name = freeAgentCompany != null ? freeAgentCompany.name : this.customer.Name, ValidUntil = DateTime.UtcNow.AddSeconds(accessTokenContainer.expires_in - 60) }; var freeAgentDatabaseMarketPlace = new FreeAgentDatabaseMarketPlace(); log.Info("Saving marketplace data..."); var marketPlace = this.dbHelper.SaveOrUpdateCustomerMarketplace( securityData.Name, freeAgentDatabaseMarketPlace, securityData, this.customer ); oResult = FreeAgentAccountModel.ToModel(marketPlace); }); return(oResult); } // SaveFreeAgentTrn