Exemple #1
0
        public void reportCargoUpdate(TrackingId trackingId)
        {
            Cargo        cargo        = cargoRepository.find(trackingId);
            CargoDetails cargoDetails = assembleFrom(cargo);

            reportSubmission.submitCargoDetails(cargoDetails);
        }
Exemple #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            CargoDetails cargoDetails = db.cargoDetails.Find(id);

            db.cargoDetails.Remove(cargoDetails);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #3
0
        private CargoDetails assembleFrom(Cargo cargo)
        {
            CargoDetails cargoDetails = new CargoDetails();

            cargoDetails.setTrackingId(cargo.TrackingId.Value);
            cargoDetails.setFinalDestination(cargo.RouteSpecification.Destination.Name);
            cargoDetails.setCurrentLocation(cargo.LastKnownLocation.Name);
            cargoDetails.setCurrentStatus(cargo.TransportStatus.ToString());
            return(cargoDetails);
        }
Exemple #4
0
        public void reportCargoUpdate()
        {
            reportPusher.reportCargoUpdate(new TrackingId("ABC"));

            CargoDetails expected = new CargoDetails();

            expected.setTrackingId("ABC");
            expected.setCurrentLocation("Hongkong");
            expected.setFinalDestination("Rotterdam");
            expected.setCurrentStatus("IN_PORT");

            reportSubmission.AssertWasCalled(s => s.submitCargoDetails(Arg.Is(expected)));
        }
Exemple #5
0
        // GET: CargoDetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CargoDetails cargoDetails = db.cargoDetails.Find(id);

            if (cargoDetails == null)
            {
                return(HttpNotFound());
            }
            return(View(cargoDetails));
        }
Exemple #6
0
 public ActionResult Edit([Bind(Include = "CargoDetailsKey,CargoStatus,EstimatedTravellig,CargoWeight,Destination,PickPoint,CargoPayment,CustomerID,TransactionId,Loc_Code,cargNo")] CargoDetails cargoDetails)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cargoDetails).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.cargNo        = new SelectList(db.cargoTypes, "CargoTypeKey", "CargoName", cargoDetails.cargNo);
     ViewBag.CustomerID    = new SelectList(db.customers, "CustomersKey", "CustomerName", cargoDetails.CustomerID);
     ViewBag.Loc_Code      = new SelectList(db.locations, "LocationKey", "LocationName");
     ViewBag.TransactionId = new SelectList(db.transactions, "TransactionsKey", "TransactionsKey", cargoDetails.TransactionId);
     return(View(cargoDetails));
 }
Exemple #7
0
        // GET: CargoDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CargoDetails cargoDetails = db.cargoDetails.Find(id);

            if (cargoDetails == null)
            {
                return(HttpNotFound());
            }
            ViewBag.cargNo        = new SelectList(db.cargoTypes, "CargoTypeKey", "CargoName", cargoDetails.cargNo);
            ViewBag.CustomerID    = new SelectList(db.customers, "CustomersKey", "CustomerName", cargoDetails.CustomerID);
            ViewBag.Loc_Code      = new SelectList(db.locations, "LocationKey", "LocationName");
            ViewBag.TransactionId = new SelectList(db.transactions, "TransactionsKey", "TransactionsKey", cargoDetails.TransactionId);
            return(View(cargoDetails));
        }
Exemple #8
0
        public Route CreateRoute(int driverId, int carId, int[] parcelIds)
        {
            Employee driver = _employeeManager.GetEmployeeById(driverId);

            if (driver == default(Employee))
            {
                throw new NewRouteInvalidDataException(new Employee());
            }

            Vehicle car = _vehicleManager.GetVehicleByID(carId);

            if (car == default(Vehicle))
            {
                throw new NewRouteInvalidDataException(new Vehicle());
            }

            // parcel ids in array are already in delviery order
            List <Parcel> parcels = new List <Parcel>();

            foreach (int pid in parcelIds)
            {
                Parcel parcel = _parcelManager.GetById(pid);
                if (parcel == default(Parcel))
                {
                    throw new NewRouteInvalidDataException(new Parcel());
                }
                if (parcel.ParcelStatus != Model.Enums.ParcelStatus.InWarehouse)
                {
                    throw new NewRouteInvalidDataException(parcel.ParcelStatus);
                }
                parcels.Add(parcel);
            }

            CargoDetails cargoDetails = CalculateCargoDetails(car, parcels.ToArray());

            if (cargoDetails.IsOverloaded())
            {
                throw new OverloadedCargoForRouteException();
            }


            Route route = new Route()
            {
                EmployeeId       = driver.Id,
                VehicleId        = car.Id,
                CreationDateTime = DateTime.Now
            };
            List <RoutePoint> routePoints = new List <RoutePoint>();
            int index = 1;

            foreach (Parcel parcel in parcels)
            {
                routePoints.Add(new RoutePoint()
                {
                    ParcelId = parcel.Id,
                    Index    = index++
                });
            }

            int newRouteId = _routeManager.Add(route, routePoints.ToArray());

            return(GetRouteByID(newRouteId));
        }