public async Task <IActionResult> OnPostAsync() { if (ModelState.IsValid) { var userId = EasyMethods.GetUserId(User); LoyaltyCard.AplicationUserId = userId; _db.LoyaltyCards.Add(LoyaltyCard); await _db.SaveChangesAsync(); return(RedirectToPage("Index")); } return(Page()); }
public async Task <IActionResult> OnGetAsync() { if (!User.IsInRole(StaticDetails.BusinessEndUser)) { return(RedirectToPage("/RegisterBusinessAccount/Index")); } var userId = EasyMethods.GetUserId(User); ICollection <LoyaltyCard> loyaltyCards = await _db.LoyaltyCards.Where(l => l.AplicationUserId == userId).ToListAsync(); CardCreationViewModel = new CardCreationViewModel { LoyaltyCards = loyaltyCards, }; return(Page()); }
public async Task <IActionResult> OnGetAsync() { if (!User.Identity.IsAuthenticated) { return(RedirectToPage("FindUser")); } var userId = EasyMethods.GetUserId(User); ClientCards = await _db.ClientCards .Include(c => c.LoyaltyCard) .Include(c => c.LoyaltyCard.AplicationUser) .AsNoTracking() .Where(c => c.AplicationUserId == userId).ToListAsync(); return(Page()); }
public async Task <IActionResult> OnPostAsync() { if (string.IsNullOrWhiteSpace(RedeemCodeViewModel.Code)) { return(Page()); } var userId = EasyMethods.GetUserId(User); var businessCards = await _db.LoyaltyCards .AsNoTracking() .Where(l => l.AplicationUserId == userId) .ToListAsync(); if (businessCards != null) { //find the client card with the voucher code where the Loyalty card belongs to this business user, so that the user can't redeem codes from other business users var clientCard = await _db.ClientCards.FirstOrDefaultAsync(c => c.VoucherCode == RedeemCodeViewModel.Code); if (clientCard != null && businessCards.Exists(b => b.Id == clientCard.LoyaltyCardId)) { if (!clientCard.IsRedeemed) { clientCard.IsRedeemed = true; await _db.SaveChangesAsync(); RedeemCodeViewModel.Message = new Message { MessageType = Message.Type.Successful, Text = "Card has been redeemed, give the client his god dam prize! :)" }; } else { //Card has already been redeemed RedeemCodeViewModel.Message = new Message { MessageType = Message.Type.Info, Text = "Card has already been redeemed" }; } } else { //Could not find card RedeemCodeViewModel.Message = new Message { MessageType = Message.Type.Error, Text = "Could not find this voucher code" }; } } else { RedeemCodeViewModel.Message = new Message { MessageType = Message.Type.Info, Text = "You don't have any Loyalty Cards!" }; } return(Page()); }