public async void TestFastLink() { IContainer container = InitContainer(typeof(YodleeService)); YodleeService yodleeService = container.GetInstance <YodleeService>(); YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(CoBrandUserName) .SetCobrandPassword(CoBrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await yodleeService.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(UserName) .SetUserPassword(UserPassword); YUserLoginResponse yUserLoginResponse = await yodleeService.LoginUser(userLoginRequest); YGetFastLinkTokenRequest getFastLinkTokenRequest = new YGetFastLinkTokenRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken); var yGetFastLinkTokenResponse = await yodleeService.GetFastLinkToken(getFastLinkTokenRequest); YFastLinkRequest yFastLinkRequest = new YFastLinkRequest() .SetFastLinkToken(yGetFastLinkTokenResponse.FastLinkToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken) .SetOptionalFastLinkSite(16441); string formHtml = yFastLinkRequest.GetFormHtml; string json = await yodleeService.MakeFastLink(yFastLinkRequest); int kk = 0; }
public async void TestSiteAccountsRequest() { IContainer container = InitContainer(typeof(YodleeService)); YodleeService yodleeService = container.GetInstance <YodleeService>(); YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(CoBrandUserName) .SetCobrandPassword(CoBrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await yodleeService.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(UserName) .SetUserPassword(UserPassword); YUserLoginResponse yUserLoginResponse = await yodleeService.LoginUser(userLoginRequest); YSiteAccountsRequest siteAccountsRequest = new YSiteAccountsRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken); YSiteAccountsResponse ySiteAccountsResponse = await yodleeService.GetSiteAccounts(siteAccountsRequest); Assert.AreEqual(ySiteAccountsResponse.AccountInfos.Count, 4); }
public async void TestTransactionRequest() { IContainer container = InitContainer(typeof(YodleeService)); YodleeService yodleeService = container.GetInstance <YodleeService>(); YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(CoBrandUserName) .SetCobrandPassword(CoBrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await yodleeService.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(UserName) .SetUserPassword(UserPassword); YUserLoginResponse yUserLoginResponse = await yodleeService.LoginUser(userLoginRequest); YTransactionsSearchRequest transactionsSearchRequest = new YTransactionsSearchRequest() .SetCoBrandToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken) .SetContainerType(EContainerType.bank) .SetPageSize(1, 10); YTransactionsSearchResponse t = await yodleeService.GetTransactions2(transactionsSearchRequest); YTransactionsSearchResponse tt = yodleeService.GetTransactions3(transactionsSearchRequest); YTransactionsSearchResponse transactions = yodleeService.GetTransactions(transactionsSearchRequest).First(); Assert.AreEqual(transactions.searchResult.Transactions.Count, 10); }
/// <summary> /// Handles the specified command. /// </summary> /// <param name="cmd">The command.</param> public async void Handle(YodleeGetTransactionsCommand cmd) { YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(cmd.CobrandUserName) .SetCobrandPassword(cmd.CobrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await Yodlee.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(cmd.UserName) .SetUserPassword(cmd.UserPassword); YUserLoginResponse yUserLoginResponse = await Yodlee.LoginUser(userLoginRequest); YTransactionsSearchRequest transactionsSearchRequest = new YTransactionsSearchRequest() .SetCoBrandToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken) .SetContainerType(EContainerType.bank); var lookup = cmd.AccountsNumbers.ToLookup(o => o); IEnumerable <YTransactionsSearchResponse> transactions = Yodlee.GetTransactions(transactionsSearchRequest); foreach (var transaction in transactions) { var currentTransation = transaction; SendReply(new InfoAccumulator(), cmd, reply => { reply.HitsCount = currentTransation.numberOfHits; reply.TotalTransactionsCount = currentTransation.countOfAllTransaction; reply.Transactions = currentTransation.searchResult.Transactions.Where(t => !lookup.Contains(t.account.itemAccountId)) .Select(ConvertToApiTransaction); reply.AccountNumbers = cmd.AccountsNumbers; }); } }
/// <summary> /// Handles the specified command. /// </summary> /// <param name="command">The command.</param> public void Handle(YodleeLoginUser3dPartyCommand command) { InfoAccumulator info = new InfoAccumulator(); if (ValidateModel(command, info)) { SendReply(info, command); return; } //created request YUserLoginRequest loginRequest = new YUserLoginRequest() .SetCobrandSessionToken(command.CobrandToken) .SetUserName(command.UserName) .SetUserPassword(EncryptionUtils.Decrypt(command.PasswordEncrypted)); //send REST request to yodlee var yUserLoginResponse = Yodlee.LoginUser(loginRequest) .Result; //handle yodlee response if (yUserLoginResponse.HasError) { string errorMessage = yUserLoginResponse.GetError() .ErrorMessage; Log.Error(errorMessage); info.AddError(errorMessage); } SendReply(info, command, resp => { if (!yUserLoginResponse.HasError) { resp.UserToken = yUserLoginResponse.userContext.conversationCredentials.sessionToken; resp.IsLoginFailed = false; } else { resp.IsLoginFailed = true; } }); }
/// <summary> /// Handles a YodleeGetFastLinkCommand. /// </summary> /// <param name="cmd">The command.</param> public async void Handle(YodleeGetFastLinkCommand cmd) { YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(cmd.CobrandUserName) .SetCobrandPassword(cmd.CobrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await Yodlee.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(cmd.UserName) .SetUserPassword(cmd.UserPassword); YUserLoginResponse yUserLoginResponse = await Yodlee.LoginUser(userLoginRequest); YGetFastLinkTokenRequest getFastLinkTokenRequest = new YGetFastLinkTokenRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken); var yGetFastLinkTokenResponse = await Yodlee.GetFastLinkToken(getFastLinkTokenRequest); YFastLinkRequest yFastLinkRequest = new YFastLinkRequest() .SetFastLinkToken(yGetFastLinkTokenResponse.FastLinkToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken); if (cmd.ContentServiceId > 0) { yFastLinkRequest.SetOptionalFastLinkSite(cmd.SiteId); } string formHtml = yFastLinkRequest.GetFormHtml; string json = await Yodlee.MakeFastLink(yFastLinkRequest); SendReply(new InfoAccumulator(), cmd, reply => { reply.FastLinkUrl = json; reply.FormHtml = formHtml; }); }
/// <summary> /// Handles the specified command. /// </summary> /// <param name="cmd">The command.</param> public async void Handle(YodleeGetUserAccountsCommand cmd) { YCobrandLoginRequest cobrandLoginRequest = new YCobrandLoginRequest().SetCobrandUserName(cmd.CobrandUserName) .SetCobrandPassword(cmd.CobrandPassword); YCobrandLoginResponse yCobrandLoginResponse = await Yodlee.LoginCobrand(cobrandLoginRequest); YUserLoginRequest userLoginRequest = new YUserLoginRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserName(cmd.UserName) .SetUserPassword(cmd.UserPassword); YUserLoginResponse yUserLoginResponse = await Yodlee.LoginUser(userLoginRequest); YSiteAccountsRequest siteAccountsRequest = new YSiteAccountsRequest() .SetCobrandSessionToken(yCobrandLoginResponse.cobrandConversationCredentials.sessionToken) .SetUserSessionToken(yUserLoginResponse.userContext.conversationCredentials.sessionToken); InfoAccumulator info = new InfoAccumulator(); YSiteAccountsResponse ySiteAccountsResponse = await Yodlee.GetSiteAccounts(siteAccountsRequest); var yodleeUserAccounts = ySiteAccountsResponse.AccountInfos.Select(TransformToApiAccount).ToList(); string json = await Yodlee.GetSiteAccountsAsJson(siteAccountsRequest); if (IsError(json)) { info.AddError("got error response:\n" + json); } SendReply(info, cmd, reply => { reply.CustomerId = cmd.CustomerId; reply.UserName = cmd.UserName; reply.UserPassword = cmd.UserPassword; reply.Accounts = yodleeUserAccounts; }); }
/// <summary> /// Logins the user. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> internal Task <YUserLoginResponse> LoginUser(YUserLoginRequest request) { HttpContent content = CreateHttpContent(request); return(Browser.PostAsyncAndGetJsonReponseAs <YUserLoginResponse>(YodleeCommands.USER_LOGIN, content)); }