Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public async Task DeleteTicketAsync(Vexe ticket)
        {
            if (ticket == null)
            {
                throw new ArgumentNullException(nameof(ticket));
            }

            _context.Vexes.Remove(ticket);
            await _context.SaveChangesAsync();
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 public async Task UpdateTicketAsync(Vexe ticket)
 {
     await _context.SaveChangesAsync();
 }