Example #1
0
        public async Task <ActionResult <Tuyenxe> > CreateBusRouteAsync(BusRouteCreateDto busRoute)
        {
            Tuyenxe busRouteModel = _mapper.Map <Tuyenxe>(busRoute);
            await _busRouteService.CreateBusRouteAsync(busRouteModel);

            return(CreatedAtRoute(nameof(GetBusRouteByIdAsync), new { id = busRouteModel.MaTuyenXe }, busRouteModel));
        }
Example #2
0
 public async Task CreateBusRouteAsync(Tuyenxe busRoute)
 {
     if (busRoute == null)
     {
         throw new ArgumentNullException(nameof(busRoute));
     }
     var check = await _context.Tuyenxes.Where(p => p.MaBxden == busRoute.MaBxden && p.MaBxdi == busRoute.MaBxdi && p.MaNhaXe == busRoute.MaNhaXe)
                     .Select(p => p.MaTuyenXe).FirstOrDefaultAsync();
     if (check == 0)
     {
         _context.Tuyenxes.Add(busRoute);
         await _context.SaveChangesAsync();
     }
 }
Example #3
0
        public async Task DeleteBusRouteAsync(Tuyenxe busRoute)
        {
            if (busRoute == null)
            {
                throw new ArgumentNullException(nameof(busRoute));
            }
            // Find all trips of this route
            var busTrips = await _context.Chuyenxes.Where(p => p.MaTuyenXe == busRoute.MaTuyenXe).ToListAsync();

            // Find and delete all tickets, seats that relations with those bus trips
            foreach (var busTrip in busTrips)
            {
                var ticketsByBusTrip = await _context.Vexes.Where(p => p.MaChuyenXe == busTrip.MaChuyenXe).ToListAsync();
                _context.Vexes.RemoveRange(ticketsByBusTrip);
            }

            // Delete all trips that relations with this route
            _context.Chuyenxes.RemoveRange(busTrips);

            // Delete this route
            _context.Tuyenxes.Remove(busRoute);

            await _context.SaveChangesAsync();
        }
Example #4
0
 public async Task UpdateBusRouteAsync(Tuyenxe busRoute)
 {
     await _context.SaveChangesAsync();
 }