public async Task <bool> CheckAvailableAsync(int userId, int garageId) { Vexe ticket = await _context.Vexes.Where(p => p.MaKh == userId && p.MaChuyenXeNavigation.MaXeNavigation.MaNhaXe == garageId && p.TrangThai == true).FirstOrDefaultAsync(); return(ticket == null ? false : true); }
public async Task DeleteTicketAsync(Vexe ticket) { if (ticket == null) { throw new ArgumentNullException(nameof(ticket)); } _context.Vexes.Remove(ticket); await _context.SaveChangesAsync(); }
public async Task <ActionResult <IEnumerable <TicketReadDto> > > CreateTicketAsync(TicketCreateDto ticket) { if (ticket.DaThanhToan > await _busTripService.GetPriceByBusTripAsync(ticket.MaChuyenXe)) { return(BadRequest()); } foreach (var seatId in ticket.MaChoNgoi) { if (await _ticketService.CheckAvailableAsync(ticket.MaChuyenXe, ticket.NgayDi, seatId) == true) { return(BadRequest()); } } List <Vexe> list = new List <Vexe>(); foreach (var seatId in ticket.MaChoNgoi) { Vexe item = new Vexe { MaChoNgoi = seatId, MaChuyenXe = ticket.MaChuyenXe, MaKh = ticket.MaKh, GhiChu = ticket.GhiChu, NgayDi = ticket.NgayDi, DaThanhToan = ticket.DaThanhToan, MaKhNavigation = await _userService.GetUserByIdAsync(ticket.MaKh), MaChuyenXeNavigation = await _busTripService.GetBusTripByIdAsync(ticket.MaChuyenXe), }; list.Add(item); } await _ticketService.CreateTicketAsync(list); IEnumerable <TicketReadDto> ticketReturn = _mapper.Map <IEnumerable <TicketReadDto> >(list); return(Ok(ticketReturn)); }
public async Task UpdateTicketAsync(Vexe ticket) { await _context.SaveChangesAsync(); }