Beispiel #1
0
        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;
        }
Beispiel #2
0
        /// <summary>
        /// Makes the fast link.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        internal async Task <string> MakeFastLink(YFastLinkRequest request)
        {
            HttpContent content = CreateHttpContent(request);

            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(Config.NodeUrl);

            using (var resp = await client.PostAsync(string.Empty, content)) {
                using (var cnt = resp.Content) {
                    string json = await cnt.ReadAsStringAsync();

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