/// <summary> /// Creates and initializes a new instance. /// </summary> /// <param name="updatedItinerary">The updated itinerary.</param> /// <param name="itineraryToUpdate">The itinerary that will be updated.</param> /// <param name="arrivalLocation">The itinerary arrival location.</param> /// <param name="departureLocation">The itinerary destination location.</param> /// <param name="itineraryStop">The itinerary stops of the itinerary that is updated.</param> public UpdatedEcaItineraryValidationEntity(UpdatedEcaItinerary updatedItinerary, Itinerary itineraryToUpdate, Location arrivalLocation, Location departureLocation, IEnumerable <ItineraryStop> itineraryStop) : base( arrivalLocation: arrivalLocation, departureLocation: departureLocation) { this.ItineraryToUpdate = itineraryToUpdate; this.UpdatedItinerary = updatedItinerary; this.ItineraryStops = itineraryStop; }
private void DoUpdate(UpdatedEcaItinerary updatedItinerary, Itinerary itineraryToUpdate, Location arrivalLocation, Location departureLocation) { ecaItineraryValidator.ValidateUpdate(GetUpdatedEcaItineraryValidationEntity( updatedItinerary: updatedItinerary, itineraryToUpdate: itineraryToUpdate, arrivalLocation: arrivalLocation, departureLocation: departureLocation, stops: itineraryToUpdate.Stops)); updatedItinerary.Audit.SetHistory(itineraryToUpdate); itineraryToUpdate.ArrivalLocationId = arrivalLocation.LocationId; itineraryToUpdate.DepartureLocationId = departureLocation.LocationId; itineraryToUpdate.EndDate = updatedItinerary.EndDate; itineraryToUpdate.Name = updatedItinerary.Name; itineraryToUpdate.StartDate = updatedItinerary.StartDate; }
/// <summary> /// Updates the datastore's itinerary with the given itinerary. /// </summary> /// <param name="itinerary">The updated itinerary.</param> public async Task UpdateAsync(UpdatedEcaItinerary itinerary) { var itineraryToUpdate = await CreateGetItineraryByIdQuery(itinerary.Id).FirstOrDefaultAsync(); throwIfModelDoesNotExist(itinerary.Id, itineraryToUpdate, typeof(Itinerary)); var arrivalLocation = await Context.Locations.FindAsync(itinerary.ArrivalLocationId); throwIfModelDoesNotExist(itinerary.ArrivalLocationId, arrivalLocation, typeof(Location)); var departureLocation = await Context.Locations.FindAsync(itinerary.DepartureLocationId); throwIfModelDoesNotExist(itinerary.DepartureLocationId, departureLocation, typeof(Location)); throwSecurityViolationIfDifferentProject(itinerary.Audit.User.Id, itineraryToUpdate, itinerary.ProjectId); DoUpdate( updatedItinerary: itinerary, itineraryToUpdate: itineraryToUpdate, arrivalLocation: arrivalLocation, departureLocation: departureLocation); }
/// <summary> /// /// </summary> /// <param name="itinerary"></param> /// <returns></returns> public Task UpdateAsync(UpdatedEcaItinerary itinerary) { Contract.Requires(itinerary != null, "The itinerary must not be null."); return(Task.FromResult <object>(null)); }
/// <summary> /// /// </summary> /// <param name="itinerary"></param> public void Update(UpdatedEcaItinerary itinerary) { Contract.Requires(itinerary != null, "The itinerary must not be null."); }
private UpdatedEcaItineraryValidationEntity GetUpdatedEcaItineraryValidationEntity(UpdatedEcaItinerary updatedItinerary, Itinerary itineraryToUpdate, Location arrivalLocation, Location departureLocation, IEnumerable <ItineraryStop> stops) { Contract.Requires(updatedItinerary != null, "The updated itinerary must not be null."); Contract.Requires(itineraryToUpdate != null, "The itinerary to update must not be null."); Contract.Requires(arrivalLocation != null, "The arrival location must not be null."); Contract.Requires(stops != null, "The itinerary stops must not be null."); Contract.Requires(departureLocation != null, "The departure destination location must not be null."); return(new UpdatedEcaItineraryValidationEntity( updatedItinerary: updatedItinerary, itineraryToUpdate: itineraryToUpdate, arrivalLocation: arrivalLocation, departureLocation: departureLocation, itineraryStop: stops )); }