public void assignCargoToRoute(string trackingIdStr, RouteCandidateDTO routeCandidateDTO) { var itinerary = DTOAssembler.fromDTO(routeCandidateDTO, voyageRepository, locationRepository); var trackingId = new TrackingId(trackingIdStr); bookingService.assignCargoToRoute(itinerary, trackingId); }
public ActionResult AssignItinerary(RouteAssignmentCommand command) { var legs = command.legs .Select(leg => new LegDTO( leg.voyageNumber, leg.fromUnLocode, leg.toUnLocode, leg.fromDate, leg.toDate)); var selectedRoute = new RouteCandidateDTO(legs); _bookingServiceFacade.assignCargoToRoute(command.trackingId, selectedRoute); return RedirectToAction("Show", new { command.trackingId }); }
internal static Itinerary fromDTO(RouteCandidateDTO routeCandidateDTO, VoyageRepository voyageRepository, LocationRepository locationRepository) { var legs = new List<Leg>(routeCandidateDTO.getLegs().Count()); foreach(LegDTO legDTO in routeCandidateDTO.getLegs()) { var voyageNumber = new VoyageNumber(legDTO.getVoyageNumber()); var voyage = voyageRepository.find(voyageNumber); var from = locationRepository.find(new UnLocode(legDTO.getFrom())); var to = locationRepository.find(new UnLocode(legDTO.getTo())); legs.Add(Leg.DeriveLeg(voyage, from, to)); } return new Itinerary(legs); }