public TransportRequest(Customer customer, TransportUnit transportUnit) { List<TransportUnit> units = new List<TransportUnit>(); units.Add(transportUnit); this.Init(customer, units); }
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 Route(TransportUnit transportUnit, double shortage, List<Leg> legs) { this.transportUnit = transportUnit; this.shortage = shortage; //make sure that the legs are sorted in departure time order legs.Sort(delegate(Leg x, Leg y) { return x.DepartureTime.CompareTo(y.DepartureTime); }); this.legs = legs; }