Esempio n. 1
0
        public static async Task <V2GetCardsResponse> GetRegisteredCards(string secureToken)
        {
            using (HttpClient client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("X-FD-BingIDToken", secureToken);
                client.Timeout = TimeSpan.FromMilliseconds(5000);
                client.DefaultRequestHeaders.Add("X-Flight-ID", "Earn");
                string data = await client.GetStringAsync("https://commerce.earnbymicrosoft.com/api/commerce/v2/cards");

                V2GetCardsResponse response = JsonConvert.DeserializeObject <V2GetCardsResponse>(data);
                return(response);
            }
        }
        public async Task <ActionResult> Settings()
        {
            try
            {
                LiveIdAuthResult    liveIdAuthResult = HttpContext.Items["liveauthstate"] as LiveIdAuthResult;
                AuthorizeUserResult userResult       = await AuthorizeUser(liveIdAuthResult);

                if (!userResult.Authorized)
                {
                    return(userResult.Result);
                }

                if (liveIdAuthResult != null)
                {
                    ViewBag.ProfileName     = liveIdAuthResult.ProfileName;
                    ViewBag.SignOutHtmlLink = liveIdAuthResult.SignOutHtmlLink;
                }

                UserModel userModel   = new UserModel(User.Identity as ClaimsIdentity);
                string    secureToken = HttpContext.Items["backendtoken"] as string;

                Task <V2GetCardsResponse> getCardsResponseTask = CommerceService.GetRegisteredCards(secureToken);
                Task <string>             earnedAmountTask     = CommerceService.GetTotalEarnedAmount(userModel, secureToken);
                User userInfo = await UserService.GetUserInfo(secureToken);

                string             earnedAmount     = await earnedAmountTask;
                V2GetCardsResponse getCardsResponse = await getCardsResponseTask;

                AccountsPageModel pageModel = new AccountsPageModel
                {
                    EarnTotal = earnedAmount,
                    Cards     = getCardsResponse.Cards,
                    UserInfo  = userInfo,
                    Page      = "settings",
                    UserId    = userModel.UserId
                };

                return(View("~/offers/earn/views/account/settings.cshtml", pageModel));
            }
            catch (Exception e)
            {
            }

            return(HandleServerError());
        }
Esempio n. 3
0
        //To be used only by certain apis.
        public static async Task <bool> IsUserRegisteredWithCardLink(UserModel user, string secureToken)
        {
            string key            = "clo_user:"******"UnregisteredUser")
            {
                return(false);
            }

            HttpRuntime.Cache.Insert(key, true, null, Cache.NoAbsoluteExpiration, TimeSpan.FromDays(1));
            return(true);
        }