Ejemplo n.º 1
0
        public ActionResult PickNewDestination(string trackingId)
        {
            IList <LocationDTO> locations = BookingServiceFacade.ListShippingLocations();
            CargoRoutingDTO     cargo     = BookingServiceFacade.LoadCargoForRouting(trackingId);

            return(View(new PickNewDestinationViewModel(locations, cargo)));
        }
Ejemplo n.º 2
0
        public ActionResult SelectItinerary(string trackingId)
        {
            IList <RouteCandidateDTO> routeCandidatesDto = BookingServiceFacade.RequestPossibleRoutesForCargo(trackingId);
            CargoRoutingDTO           cargoDto           = BookingServiceFacade.LoadCargoForRouting(trackingId);

            var selectItineraryResult = new SelectItineraryViewModel(routeCandidatesDto, cargoDto);

            return(View(selectItineraryResult));
        }
Ejemplo n.º 3
0
        public ActionResult ChangeDestination(string trackingId)
        {
            CargoRoutingDTO cargo = _bookingFacade.LoadCargoForRouting(trackingId);

            IList <SelectListItem> shippingLocations = _bookingFacade.ListShippingLocations();

            ViewData["destination"] = shippingLocations.Where(x => x.Value != cargo.Origin).ToList();

            return(View(GetDetailsModel(trackingId)));
        }
Ejemplo n.º 4
0
        public void SelectItineraryTest()
        {
            //Arrange
            var    bookingServiceFacadeMock = new Mock <IBookingServiceFacade>();
            var    controller = new CargoAdminController(bookingServiceFacadeMock.Object);
            string trackingId = "trackId";

            IList <LegDTO> legDtos = new List <LegDTO>()
            {
                new LegDTO(
                    "voyageNumber",
                    "fromPort", "toPort",
                    new DateTime(2002, 1, 1),
                    new DateTime(2002, 2, 2))
            };

            var cargoRoutingDto = new CargoRoutingDTO(trackingId, "origin", "finalDest",
                                                      new DateTime(2000, 12, 12), false);


            bookingServiceFacadeMock.Setup(m => m.RequestPossibleRoutesForCargo(trackingId))
            .Returns(new List <RouteCandidateDTO>()
            {
                new RouteCandidateDTO(legDtos)
            }).Verifiable();

            bookingServiceFacadeMock.Setup(m => m.LoadCargoForRouting(trackingId))
            .Returns(cargoRoutingDto).Verifiable();

            //Act
            var viewModel = controller.SelectItinerary(trackingId)
                            .GetModel <SelectItineraryViewModel>();

            //Assert
            bookingServiceFacadeMock.Verify();
            var modelRouteLeg = viewModel.RouteCandidates[0].Legs[0];

            Assert.AreEqual(modelRouteLeg.VoyageNumber, "voyageNumber");
            Assert.AreEqual(modelRouteLeg.FromLocation, "fromPort");
            Assert.AreEqual(modelRouteLeg.LoadTime, new DateTime(2002, 1, 1));

            Assert.AreEqual(viewModel.Cargo.TrackingId, trackingId);
            Assert.AreEqual(viewModel.Cargo.ArrivalDeadline, new DateTime(2000, 12, 12));
            Assert.AreEqual(viewModel.Cargo.Origin, "origin");
        }
        /// <summary>
        ///  Assemble a Cargo Routing DTO from provided Cargo.   
        /// </summary>
        /// <param name="cargo">cargo</param>
        /// <returns>A cargo routing DTO</returns> 
        public CargoRoutingDTO ToDTO(Cargo cargo)
        {
            var dto = new CargoRoutingDTO(
                cargo.TrackingId.IdString,
                cargo.Origin.UnLocode.IdString,
                cargo.RouteSpecification.Destination.UnLocode.IdString,
                cargo.RouteSpecification.ArrivalDeadline,
                cargo.Delivery.RoutingStatus.SameValueAs(RoutingStatus.MISROUTED));

            foreach (Leg leg in cargo.Itinerary.Legs)
            {
                dto.AddLeg(
                    leg.Voyage.VoyageNumber.IdString,
                    leg.LoadLocation.UnLocode.IdString,
                    leg.UnloadLocation.UnLocode.IdString,
                    leg.LoadTime,
                    leg.UnloadTime);
            }
            return dto;
        }
Ejemplo n.º 6
0
        /// <summary>
        ///  Assemble a Cargo Routing DTO from provided Cargo.
        /// </summary>
        /// <param name="cargo">cargo</param>
        /// <returns>A cargo routing DTO</returns>
        public CargoRoutingDTO ToDTO(Cargo cargo)
        {
            var dto = new CargoRoutingDTO(
                cargo.TrackingId.IdString,
                cargo.Origin.UnLocode.IdString,
                cargo.RouteSpecification.Destination.UnLocode.IdString,
                cargo.RouteSpecification.ArrivalDeadline,
                cargo.Delivery.RoutingStatus.SameValueAs(RoutingStatus.MISROUTED));

            foreach (Leg leg in cargo.Itinerary.Legs)
            {
                dto.AddLeg(
                    leg.Voyage.VoyageNumber.IdString,
                    leg.LoadLocation.UnLocode.IdString,
                    leg.UnloadLocation.UnLocode.IdString,
                    leg.LoadTime,
                    leg.UnloadTime);
            }
            return(dto);
        }
Ejemplo n.º 7
0
        public void ShowTest()
        {
            //Arrange
            var    bookingServiceFacadeMock = new Mock <IBookingServiceFacade>();
            var    controller      = new CargoAdminController(bookingServiceFacadeMock.Object);
            string trackingId      = "trackId";
            var    cargoRoutingDto = new CargoRoutingDTO(trackingId, "origin", "finalDest", new DateTime(2000, 12, 12),
                                                         false);

            bookingServiceFacadeMock.Setup(m => m.LoadCargoForRouting(trackingId)).Returns(cargoRoutingDto).Verifiable();

            //Act
            var viewModel = controller.Show(trackingId)
                            .GetModel <CargoRoutingDTO>();

            //Assert
            bookingServiceFacadeMock.Verify();
            Assert.AreEqual(viewModel.ArrivalDeadline, new DateTime(2000, 12, 12));
            Assert.AreEqual(viewModel.TrackingId, trackingId);
            Assert.AreEqual(viewModel.Origin, "origin");
            Assert.AreEqual(viewModel.FinalDestination, "finalDest");
            Assert.AreEqual(viewModel.IsMisrouted, false);
        }
 public PickNewDestinationViewModel(IList<LocationDTO> locations, CargoRoutingDTO cargo)
 {
     this.locations = locations;
     this.cargo = cargo;
 }
Ejemplo n.º 9
0
 public AssignToRouteModel(CargoRoutingDTO cargo, IList <RouteCandidateDTO> routeCandidates)
 {
     _routeCandidates = routeCandidates;
     _cargo           = cargo;
 }
Ejemplo n.º 10
0
 public SelectItineraryViewModel(IList <RouteCandidateDTO> routeCandidatesDto, CargoRoutingDTO cargoDto)
 {
     cargo           = cargoDto;
     routeCandidates = routeCandidatesDto;
 }
Ejemplo n.º 11
0
        public ActionResult Show(string trackingId)
        {
            CargoRoutingDTO dto = BookingServiceFacade.LoadCargoForRouting(trackingId);

            return(View(dto));
        }
 public SelectItineraryViewModel(IList<RouteCandidateDTO> routeCandidatesDto, CargoRoutingDTO cargoDto)
 {
     cargo = cargoDto;
     routeCandidates = routeCandidatesDto;
 }
Ejemplo n.º 13
0
        public void ShowTest()
        {
            //Arrange
            var bookingServiceFacadeMock = new Mock<IBookingServiceFacade>();
            var controller = new CargoAdminController(bookingServiceFacadeMock.Object);
            string trackingId = "trackId";
            var cargoRoutingDto = new CargoRoutingDTO(trackingId, "origin", "finalDest", new DateTime(2000, 12, 12),
                                                      false);
            bookingServiceFacadeMock.Setup(m => m.LoadCargoForRouting(trackingId)).Returns(cargoRoutingDto).Verifiable();

            //Act
            var viewModel = controller.Show(trackingId)
                .GetModel<CargoRoutingDTO>();

            //Assert
            bookingServiceFacadeMock.Verify();
            Assert.AreEqual(viewModel.ArrivalDeadline, new DateTime(2000, 12, 12));
            Assert.AreEqual(viewModel.TrackingId, trackingId);
            Assert.AreEqual(viewModel.Origin, "origin");
            Assert.AreEqual(viewModel.FinalDestination, "finalDest");
            Assert.AreEqual(viewModel.IsMisrouted, false);
        }
Ejemplo n.º 14
0
        public void SelectItineraryTest()
        {
            //Arrange
            var bookingServiceFacadeMock = new Mock<IBookingServiceFacade>();
            var controller = new CargoAdminController(bookingServiceFacadeMock.Object);
            string trackingId = "trackId";

            IList<LegDTO> legDtos = new List<LegDTO>()
                                        {
                                            new LegDTO(
                                                "voyageNumber",
                                                "fromPort", "toPort",
                                                new DateTime(2002, 1, 1),
                                                new DateTime(2002, 2, 2))
                                        };

            var cargoRoutingDto = new CargoRoutingDTO(trackingId, "origin", "finalDest",
                                                      new DateTime(2000, 12, 12), false);

            bookingServiceFacadeMock.Setup(m => m.RequestPossibleRoutesForCargo(trackingId))
                .Returns(new List<RouteCandidateDTO>() { new RouteCandidateDTO(legDtos) }).Verifiable();

            bookingServiceFacadeMock.Setup(m => m.LoadCargoForRouting(trackingId))
                .Returns(cargoRoutingDto).Verifiable();

            //Act
            var viewModel = controller.SelectItinerary(trackingId)
                .GetModel<SelectItineraryViewModel>();

            //Assert
            bookingServiceFacadeMock.Verify();
            var modelRouteLeg = viewModel.RouteCandidates[0].Legs[0];
            Assert.AreEqual(modelRouteLeg.VoyageNumber, "voyageNumber");
            Assert.AreEqual(modelRouteLeg.FromLocation, "fromPort");
            Assert.AreEqual(modelRouteLeg.LoadTime, new DateTime(2002, 1, 1));

            Assert.AreEqual(viewModel.Cargo.TrackingId, trackingId);
            Assert.AreEqual(viewModel.Cargo.ArrivalDeadline, new DateTime(2000, 12, 12));
            Assert.AreEqual(viewModel.Cargo.Origin, "origin");
        }
Ejemplo n.º 15
0
 public PickNewDestinationViewModel(IList <LocationDTO> locations, CargoRoutingDTO cargo)
 {
     this.locations = locations;
     this.cargo     = cargo;
 }