public async Task <IActionResult> CheckCardNumber(CheckReservationModel model) { UserGetDetailsRes user = await _userRepository.GetCurrentUser(); String error1 = "Sorry, You don't have enough credits on your CineMagic Credit Card to buy this ticket."; String error2 = "You entered wrong credit card number, click on a button and try again."; long cardNumber = Convert.ToInt64(model.cardNumber); if (user.CinemaCreditCard == null || cardNumber != user.CinemaCreditCard.CardNumber) { model.Error = error2; return(View("Unsuccessfully", model)); } else if (user.CinemaCreditCard.Balance < 7.0) { model.Error = error1; return(View("Unsuccessfully", model)); } else { await _userRepository.CreateReservationAsync(model); return(View("Successfully")); } }
public async Task <UserGetDetailsRes> GetCurrentUser() { var userId = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier); IdentityUser user = await _dbContext.Users .Where(u => u.Id == userId) .FirstOrDefaultAsync(); CinemaCreditCardGetDetailsReq req = new CinemaCreditCardGetDetailsReq { UserId = userId }; CinemaCreditCardGetDetailsRes creditCard = await _cinemaCreditCardRepository.GetCreditCard(req); UserGetDetailsRes userDetails = new UserGetDetailsRes { User = user, CinemaCreditCard = creditCard }; return(userDetails); }