public async Task CancelReservation(CancelReservationModel model) { var userId = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier); Reservation reservation = await _dbContext.Reservations .Where(rs => rs.UserId == userId && rs.TicketId == model.TicketId) .FirstOrDefaultAsync(); Ticket ticket = await _dbContext.Tickets .Where(t => t.Id == model.TicketId) .FirstOrDefaultAsync(); AvailableSeat availableSeat = new AvailableSeat { ProjectionId = model.ProjectionId, SeatId = model.SeatId }; CinemaCreditCard card = await _dbContext.CinemaCreditCards .Where(u => u.UserId == userId) .FirstOrDefaultAsync(); card.Balance = card.Balance + 7; _dbContext.Reservations.Remove(reservation); _dbContext.Tickets.Remove(ticket); _dbContext.AvailableSeats.Add(availableSeat); await _dbContext.SaveChangesAsync(); }
private async Task AddReservation(CheckReservationModel model, int seatId) { var userId = _httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier); CinemaCreditCard cinemaCreditCard = await _dbContext.CinemaCreditCards .Where(c => c.UserId == userId) .FirstOrDefaultAsync(); double balance = cinemaCreditCard.Balance; cinemaCreditCard.Balance = balance - 7.0; Ticket ticket = await _dbContext.Tickets .Where(t => t.ProjectionId == model.ProjectionId && t.SeatId == seatId) .FirstOrDefaultAsync(); Reservation reservation = new Reservation { TicketId = ticket.Id, UserId = userId }; _dbContext.Reservations.Add(reservation); await _dbContext.SaveChangesAsync(); }
public async Task AddFunds(AddFundsModel res) { CinemaCreditCard card = await _dbContext.CinemaCreditCards .Where(u => u.CinemaCreditCardNumber == res.CardNumber) .FirstOrDefaultAsync(); card.Balance = card.Balance + res.Balance; await _dbContext.SaveChangesAsync(); }
public async Task <CinemaCreditCardGetDetailsRes> GetUserCreditCard(CreditCardModel res) { IdentityUser user = await _dbContext.Users .Where(u => u.Email == res.UserMail) .FirstOrDefaultAsync(); CinemaCreditCard card = await _dbContext.CinemaCreditCards .Where(u => u.UserId == user.Id) .FirstOrDefaultAsync(); return(new CinemaCreditCardGetDetailsRes { CardNumber = card.CinemaCreditCardNumber }); }
public async Task AddCreditCard(CreditCardModel res) { string userId = await _dbContext.Users .Where(u => u.Email == res.UserMail) .Select(u => u.Id) .FirstOrDefaultAsync(); CinemaCreditCard card = new CinemaCreditCard { UserId = userId, Balance = res.Balance, CinemaCreditCardNumber = GetCardNumber() }; _dbContext.Add(card); await _dbContext.SaveChangesAsync(); }