public IActionResult AddTicketTrip([FromBody] TicketTripListRequest ticketTripListRequest) { using (var transaction = _context.Database.BeginTransaction()) { try { var ticketTripRequests = ticketTripListRequest.TicketTripRequests; var trips = _context.Trips.Where(x => x.IsFinish == false).ToList(); foreach (var item in ticketTripRequests) { var ticket = _context.Tickets.FirstOrDefault(x => x.Id == item.Ticket.Id); ticket.ApprovedDate = item.Ticket.ApprovedDate; ticket.ApproverId = item.Ticket.ApproverId; ticket.ApproverName = item.Ticket.ApproverName; ticket.Status = item.Ticket.Status; _context.SaveChanges(); var trip = trips.FirstOrDefault(x => x.CarId == item.Trip.CarId); if (trip == null) { Trip newTrip = new Trip() { CarId = item.Trip.CarId, DriverId = item.Trip.DriverId, FromLocation = item.Trip.FromLocation, ToLocation = item.Trip.ToLocation, IsFinish = item.Trip.IsFinish, NoteForDriver = item.Trip.NoteForDriver, StartDate = item.Trip.StartDate, Type = item.Trip.Type }; _context.Trips.Add(newTrip); _context.SaveChanges(); TicketTrip ticketTrip = new TicketTrip() { TicketId = ticket.Id, TripId = newTrip.Id }; _context.TicketTrips.Add(ticketTrip); _context.SaveChanges(); } else { TicketTrip ticketTrip = new TicketTrip() { TicketId = ticket.Id, TripId = trip.Id }; _context.TicketTrips.Add(ticketTrip); _context.SaveChanges(); } } transaction.Commit(); } catch (Exception error) { transaction.Rollback(); } } return(Ok()); }
public void Add(T entity) { _entity.Add(entity); _context.SaveChanges(); }