} // Name public override void Execute() { m_oCustomerData.Load(); Guid oEkmType = new EkmDatabaseMarketPlace().InternalId; Guid oYodleeType = new YodleeDatabaseMarketPlace().InternalId; VendorInfo oHmrc = global::Integration.ChannelGrabberConfig.Configuration.GetInstance(Log).Hmrc; m_oStra.Execute(); foreach (LoadCustomerMarketplaceSecurityData.ResultRow oRes in m_oStra.Result) { if (oRes.InternalID == oEkmType) { CheckEkm(oRes); } else if (oRes.InternalID == oYodleeType && oRes.DisplayName != "ParsedBank") { Result.HasYodlee = CurrentValues.Instance.RefreshYodleeEnabled; } else if (oRes.InternalID == oHmrc.Guid()) { CheckHmrc(oRes); } } // for each result Result.IsVatReturnUpToDate = new CheckAllVatReturnPeriods(m_oCustomerData.Id, DB, Log).IsUpToDate(); } // Execute
public ViewResult YodleeCallback() { Log.InfoFormat("Got to yodlee's callback with params:{0}", HttpContext.Request.Params); foreach (string key in HttpContext.Request.Params.Keys) { if (key == "oauth_error_code") { Log.WarnFormat("Yodlee returned an error. oauth_error_code:{0} oauth_error_problem:{1}", HttpContext.Request.Params["oauth_error_code"], HttpContext.Request.Params["oauth_error_problem"]); if (HttpContext.Request.Params["oauth_error_code"] == "407") { return(View(new { error = "Failure linking account" })); } } } var yodleeAccount = this.yodleeAccountsRepository.Search(this.customer.Id); string decryptedPassword = Encrypted.Decrypt(yodleeAccount.Password); string displayname; long csId; var yodleeMain = new YodleeMain(); var oEsi = new YodleeServiceInfo(); var items = this.customer.CustomerMarketPlaces .Where(mp => mp.Marketplace.InternalId == oEsi.InternalId) .Select(mp => Serialized.Deserialize <YodleeSecurityInfo>(mp.SecurityData).ItemId).ToList(); long itemId = yodleeMain.GetItemId(yodleeAccount.Username, decryptedPassword, items, out displayname, out csId); if (itemId == -1) { return(View(new { error = "Failure linking account" })); } int marketPlaceId = this.mpTypes .GetAll() .First(a => a.InternalId == oEsi.InternalId) .Id; var securityData = new YodleeSecurityInfo { ItemId = itemId, Name = yodleeAccount.Username, Password = yodleeAccount.Password, MarketplaceId = marketPlaceId, CsId = csId }; var yodleeDatabaseMarketPlace = new YodleeDatabaseMarketPlace(); var marketPlace = this.dbHelper.SaveOrUpdateCustomerMarketplace(displayname, yodleeDatabaseMarketPlace, securityData, this.customer); Log.InfoFormat("Added or updated yodlee marketplace: {0}", marketPlace.Id); this.serviceClient.Instance.UpdateMarketplace(this.context.Customer.Id, marketPlace.Id, true, this.context.UserId); return(View(YodleeAccountModel.ToModel(marketPlace, this.yodleeBanksRepository))); }
public JsonResult ParseYodlee(int customerId, int fileId) { var file = m_oServiceClient.Instance.GetCompanyFile(_context.UserId, fileId); var fileMetaData = _companyFiles.Get(fileId); var parser = new TransactionsParser(); var parsed = parser.ParseFile(fileMetaData.FileName, file); if (!string.IsNullOrEmpty(parsed.Error)) { return(Json(new { error = parsed.Error })); } if (parsed.NumOfTransactions == 0) { return(Json(new { error = "File contains 0 transactions" })); } var customer = _customers.Get(customerId); var yodlee = new YodleeServiceInfo(); var yodleeMp = customer.CustomerMarketPlaces.FirstOrDefault(mp => mp.Marketplace.InternalId == yodlee.InternalId && mp.DisplayName == "ParsedBank"); if (yodleeMp != null) { var data = Serialized.Deserialize <YodleeSecurityInfo>(yodleeMp.SecurityData); data.ItemId = fileId; yodleeMp.SecurityData = new Serialized(data); _session.Flush(); m_oServiceClient.Instance.UpdateMarketplace(customer.Id, yodleeMp.Id, false, _context.UserId); } else { int marketPlaceId = _mpTypes.GetAll().First(a => a.InternalId == yodlee.InternalId).Id; var securityData = new YodleeSecurityInfo { ItemId = fileId, Name = "", Password = "", MarketplaceId = marketPlaceId, CsId = 0 }; var yodleeDatabaseMarketPlace = new YodleeDatabaseMarketPlace(); var mp = _helper.SaveOrUpdateCustomerMarketplace("ParsedBank", yodleeDatabaseMarketPlace, securityData, customer); m_oServiceClient.Instance.UpdateMarketplace(customer.Id, mp.Id, false, _context.UserId); } // if return(Json(new { })); } // ParseYodlee