public async Task <ActionResult> Restaurants(DealSortOrder sortBy = DealSortOrder.City, string sortOrder = "asc") { 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; } string state = (HttpContext.Items["state"] as string) ?? "wa"; if (state == "wa") { ViewBag.wa = "selected"; } else if (state == "az") { ViewBag.az = "selected"; } if (state == "ma") { ViewBag.ma = "selected"; } string revIpHeader = HttpContext.Request.Headers["X-FD-RevIP"]; Task <List <Deal> > dealTask = DealService.GetDeals(state); UserModel userModel = new UserModel(User.Identity as ClaimsIdentity); string secureToken = HttpContext.Items["backendtoken"] as string; Task <string> earnedAmountTask = CommerceService.GetTotalEarnedAmount(userModel, secureToken); string earnedAmount = await earnedAmountTask; List <Deal> deals = await dealTask; SortDealsBy(deals, sortBy, sortOrder); AccountsPageModel pageModel = new AccountsPageModel { LocalDeals = deals, SelectedState = state, EarnTotal = earnedAmount, SortBy = Enum.GetName(sortBy.GetType(), sortBy), SortOrder = sortOrder, Page = "restaurants", UserId = userModel.UserId }; return(View("~/offers/earn/views/account/restaurants.cshtml", pageModel)); } catch (Exception e) { } return(HandleServerError()); }
public async Task <ActionResult> Index() { 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; } string state = (HttpContext.Items["state"] as string) ?? "wa"; Task <List <Deal> > dealTask = DealService.GetDeals(state); UserModel userModel = new UserModel(User.Identity as ClaimsIdentity); string secureToken = HttpContext.Items["backendtoken"] as string; Task <string> earnedAmountTask = CommerceService.GetTotalEarnedAmount(userModel, secureToken); string earnedAmount = await earnedAmountTask; List <Deal> deals = await dealTask; List <Deal> topDeals = DealService.GetTopDeals(state); if (deals != null) { AccountsPageModel model = new AccountsPageModel { LocalDeals = deals, TopDeals = topDeals, EarnTotal = earnedAmount, UserId = userModel.UserId, Page = "places to earn" }; return(View("~/offers/earn/views/account/places.cshtml", model)); } } catch (Exception e) { } return(HandleServerError()); }
public async Task <ActionResult> GiftCards() { 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; } string state = (HttpContext.Items["state"] as string) ?? "wa"; string revIpHeader = HttpContext.Request.Headers["X-FD-RevIP"]; UserModel userModel = new UserModel(User.Identity as ClaimsIdentity); string secureToken = HttpContext.Items["backendtoken"] as string; Task <string> earnedAmountTask = CommerceService.GetTotalEarnedAmount(userModel, secureToken); User userInfo = await UserService.GetUserInfo(secureToken); string earnedAmount = await earnedAmountTask; if (userInfo != null) { AccountsPageModel pageModel = new AccountsPageModel { UserInfo = userInfo, EarnTotal = earnedAmount, UserId = userModel.UserId, Page = "GiftCards" }; return(View("~/offers/earn/views/account/giftcards.cshtml", pageModel)); } } catch (Exception e) { } return(HandleServerError()); }
public async Task <ActionResult> Referrals() { 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 <string> earnedAmountTask = CommerceService.GetTotalEarnedAmount(userModel, secureToken); Task <string> referralCodeTask = CommerceService.LoadReferralCode(userModel, secureToken); Task <List <ReferralCodeReportDataContract> > referralReportTask = CommerceService.LoadReferralReport(userModel, secureToken); string earnedAmount = await earnedAmountTask; string referralCode = await referralCodeTask; List <ReferralCodeReportDataContract> referralReport = await referralReportTask; AccountsPageModel pageModel = new AccountsPageModel { EarnTotal = earnedAmount, ReferralReport = referralReport, ReferralCode = referralCode, Page = "referrals", UserId = userModel.UserId }; return(View("~/offers/earn/views/account/referrals.cshtml", pageModel)); } catch (Exception e) { } return(HandleServerError()); }
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()); }
private async Task <AuthorizeUserResult> AuthorizeUser(LiveIdAuthResult liveIdAuthResult) { AuthorizeUserResult authorizeResult = new AuthorizeUserResult(); if (!User.Identity.IsAuthenticated) { authorizeResult.Result = HandleUnauthenticatedOrUnregisteredUser(liveIdAuthResult); return(authorizeResult); } UserModel userModel = new UserModel(User.Identity as ClaimsIdentity); string secureToken = HttpContext.Items["backendtoken"] as string; bool status = await CommerceService.IsUserRegisteredWithCardLink(userModel, secureToken); if (!status) { authorizeResult.Result = HandleUnauthenticatedOrUnregisteredUser(liveIdAuthResult); return(authorizeResult); } authorizeResult.Authorized = true; return(authorizeResult); }
public async Task <ActionResult> History() { 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; } string state = (HttpContext.Items["state"] as string) ?? "wa"; string revIpHeader = HttpContext.Request.Headers["X-FD-RevIP"]; string secureToken = HttpContext.Items["backendtoken"] as string; UserModel userModel = new UserModel(User.Identity as ClaimsIdentity); GetEarnBurnTransactionHistoryResponse response = await CommerceService.GetTransactionHistory(userModel, secureToken); if (response != null && response.RedemptionHistory != null) { AccountsPageModel pageModel = new AccountsPageModel { RedemptionHistory = response.RedemptionHistory.Where(x => x.CreditStatus == "CreditGranted").ToList(), EarnTotal = response.CreditBalance, PendingRedemptionHistory = response.RedemptionHistory.Where(x => x.CreditStatus == "AuthorizationReceived" || x.CreditStatus == "ClearingReceived" || x.CreditStatus == "StatementCreditRequested").ToList(), UserId = userModel.UserId, Page = "history" }; List <EarnBurnTransactionItemDataContract> removeList = new List <EarnBurnTransactionItemDataContract>(); if (pageModel.PendingRedemptionHistory.Count > 0) { foreach (EarnBurnTransactionItemDataContract item in pageModel.PendingRedemptionHistory) { List <EarnBurnTransactionItemDataContract> result = pageModel.RedemptionHistory.Where(x => x.CardBrand == item.CardBrand && x.EventDateTime == item.EventDateTime && x.RedemptionType == item.RedemptionType && x.MerchantName == item.MerchantName && x.LastFourDigits == item.LastFourDigits && x.EventAmount == item.EventAmount && x.DiscountAmount == item.DiscountAmount).ToList(); if (result != null && result.Count > 0) { removeList.AddRange(result); } } if (removeList.Count > 0) { foreach (EarnBurnTransactionItemDataContract item in removeList) { pageModel.PendingRedemptionHistory.RemoveAll(x => x.EventDateTime == item.EventDateTime && x.EventAmount == item.EventAmount && x.RedemptionType == item.RedemptionType && x.DiscountAmount == item.DiscountAmount && x.LastFourDigits == item.LastFourDigits && x.CardBrand == item.CardBrand && x.MerchantName == item.MerchantName); } } if (pageModel.PendingRedemptionHistory != null && pageModel.PendingRedemptionHistory.Count > 0) { foreach (var pendingTransaction in pageModel.PendingRedemptionHistory) { if (pendingTransaction.MerchantName.Trim() == "Shell") { pendingTransaction.DiscountAmount = "TBD"; pendingTransaction.EventAmount = "TBD"; } } } } return(View("~/offers/earn/views/account/history.cshtml", pageModel)); } } catch (Exception e) { } return(HandleServerError()); }