public Trip Convert(int tripId, UpdateTrip updateTrip) { var trip = _mapper.Map <Trip>(updateTrip); trip.Id = tripId; trip.TripDestinations = updateTrip.TripDestinations?.Select(x => _tripDestinationConverter.Convert(x)).ToList(); return(trip); }
public async Task <IActionResult> UpdateTrip([FromRoute] int tripId, [FromBody] UpdateTrip updateTrip) { try { await _mediator.Send(new UpdateTripCommand(_tripConverter.Convert(tripId, updateTrip))); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
//[Authorize] public async Task EditTripAsync( int id, UpdateTrip updatedTrip, CancellationToken cancellationToken) { var correlationId = Guid.NewGuid(); var trip = await _tripRepository.GetTripByUserFriendlyIdAsync(id, cancellationToken); await _commandDispatcher.DispatchAsync(new EditTrip( trip.UniqueId, updatedTrip.Destination, updatedTrip.IsCancelled, updatedTrip.Owner, correlationId), cancellationToken); }
public ActionResult Update(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Trip trip = db.Trips.SqlQuery("select * from trips where TripId=@TripId", new SqlParameter("@TripId", id)).FirstOrDefault(); List <Destination> dest = db.Destinations.SqlQuery("select * from Destinations").ToList(); UpdateTrip viewmodel = new UpdateTrip(); viewmodel.trip = trip; viewmodel.dest = dest; if (trip == null) { return(HttpNotFound()); } return(View(viewmodel)); }
public async Task <ActionResult> Update([FromBody] UpdateTrip item, int id) { if (!AllowEdit(id)) { return(Forbid()); } Trip trip = service.GetByID(id); trip.IsCarCompensationNeeded = item.IsCarCompensationNeeded; trip.IsPlaneNeeded = item.IsPlaneNeeded; trip.IsCarRentalNeeded = item.IsCarRentalNeeded; foreach (var employee in item.Employees) { if (trip.EmployeesToTrip?.Any(x => x.EmployeeID == employee) == false) { var employeeToTrip = new EmployeeToTrip { EmployeeID = employee, TripId = id, Status = "NEW", WasRead = false, }; await employeeToTripService.Add(employeeToTrip); } } var idsToDelete = new List <int>(); var usersInfoToDelete = new List <int>(); foreach (var e in trip.EmployeesToTrip) { if (!item.Employees.Contains(e.EmployeeID)) { idsToDelete.Add(e.EmployeeToTripID); usersInfoToDelete.Add(e.EmployeeID); //employeeToTripService.Remove(e.EmployeeToTripID); } } foreach (var idToDelete in idsToDelete) { employeeToTripService.Remove(idToDelete); } var tickets = trip.PlaneTickets.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); var gas = trip.GasCompensations.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); var reservations = trip.Reservations.Where(x => usersInfoToDelete.Contains(x.EmployeeID)); trip.Reservations = item.Rooms.Select(x => new Reservation { ApartmentID = trip.ArrivalOffice.Apartaments.First(a => a.RoomNumber == x.RoomID).ApartmentID, EmployeeID = x.EmployeeID, CheckIn = trip.DepartureDate, CheckOut = trip.ReturnDate, TripID = trip.TripID, ReservationUrl = "-", }).ToList(); trip.PlaneTickets = trip.PlaneTickets.Where(x => !tickets.Select(y => y.PlaneTicketID).Contains(x.PlaneTicketID)).ToList(); trip.GasCompensations = trip.GasCompensations.Where(x => !gas.Select(y => y.GasCompensationID).Contains(x.GasCompensationID)).ToList(); var result = service.Update(trip); return(Ok()); }