예제 #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;
        }
예제 #2
0
        /// <summary>
        /// Gets the fast link token.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        internal async Task <YGetFastLinkTokenResponse> GetFastLinkToken(YGetFastLinkTokenRequest request)
        {
            HttpContent content = CreateHttpContent(request);
            string      json    = await Browser.PostAsyncAndGetStringResponse(YodleeCommands.GET_FASTLINK_TOKEN, content);

            return(CreateResponse <YGetFastLinkTokenResponse>(json));
        }
예제 #3
0
        /// <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;
            });
        }