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)); }
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(); } }
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(); }
public async Task UpdateBusRouteAsync(Tuyenxe busRoute) { await _context.SaveChangesAsync(); }