public ActionResult Find(TransportModel transportModel) { var origin = _repository.Query<Destination>().Where(o => o.Name == transportModel.Origin).SingleOrDefault(); var destination = _repository.Query<Destination>().Where(d => d.Name == transportModel.Destination).SingleOrDefault(); var cargoDefinition = new CargoDefinition(transportModel.Weight); var transportUnit = new TransportUnit(origin, destination, transportModel.MinPickupTime, transportModel.MaxDeliveryTime, cargoDefinition); // borde inte kunden endast vara intressant när det ska bokas något? var customer = _repository.Query<Customer>().Where(c => c.CompanyName == "DHL").SingleOrDefault(); var transportRequest = new TransportRequest(customer, transportUnit); _transportOptimizationService.LoadData(transportRequest.MinPickupTime, transportRequest.MaxDeliveryTime); _transportOptimizationService.MinimizeCost(transportRequest.TransportUnits, 3); var model = new RouteModel { Packages = transportModel.Packages, //PackageType = transportModel.PackageTypes.Where(pt => pt.Value == transportModel.PackageType.ToString()).Select(pt => pt.Text).Single(), //DeliveryInformation = transportModel.DateRestrictionTypes.Where(dr => dr.Value == transportModel.DateRestrictionType.ToString()).Select(dr => dr.Text).Single() + " " + transportModel.Date.Value.ToString("yyyy-MM-dd") + " " + transportModel.Time.ToString("00") + ":00", Volume = transportModel.Volume.ToString(), Origin = origin.Name, Destination = destination.Name, Routes = transportRequest.TransportUnits[0].ProposedRoutes }; return View(model); }
public TransportUnit(Destination origin, Destination destination, DateTime minPickupTime, DateTime maxDeliveryTime, CargoDefinition cargo, IList<Route> proposedRoutes) { this.Init(origin, destination, minPickupTime, maxDeliveryTime, cargo); this.proposedRoutes = proposedRoutes; }
public TransportUnit(Destination origin, Destination destination, DateTime minPickupTime, DateTime maxDeliveryTime, CargoDefinition cargo, Route selectedRoute) { this.Init(origin, destination, minPickupTime, maxDeliveryTime, cargo); this.selectedRoute = selectedRoute; }
public TransportUnit(Destination origin, Destination destination, DateTime minPickupTime, DateTime maxDeliveryTime, CargoDefinition cargo) { this.Init(origin, destination, minPickupTime, maxDeliveryTime, cargo); }
private void Init(Destination origin, Destination destination, DateTime minPickupTime, DateTime maxDeliveryTime, CargoDefinition cargo) { this.origin = origin; this.destination = destination; this.minPickupTime = minPickupTime; this.maxDeliveryTime = maxDeliveryTime; this.cargo = cargo; }