Пример #1
0
 /// <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;
 }
Пример #2
0
 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;
 }
Пример #3
0
        /// <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);
        }
Пример #4
0
 /// <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));
 }
Пример #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="itinerary"></param>
 public void Update(UpdatedEcaItinerary itinerary)
 {
     Contract.Requires(itinerary != null, "The itinerary must not be null.");
 }
Пример #6
0
 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
                ));
 }