Example #1
0
        public VehicleDutyDTO DomainToDTO(VehicleDuty vehicleDuty)
        {
            var tripDTOList = new List <TripDTO> ();

            foreach (var trip in vehicleDuty.tripsList)
            {
                var tripDTO = _tripMapper.DomainToDTO(trip);
                tripDTOList.Add(tripDTO);
            }

            var workBlockDTOList = new List <WorkBlockDTO> ();

            foreach (var wb in vehicleDuty.workBlockList)
            {
                var wbDTO = _workBlockMapper.DomainToDTO(wb);
                workBlockDTOList.Add(wbDTO);
            }

            var vehicleDutyDTO = new VehicleDutyDTO(
                vehicleDuty.Id.AsGuid(),
                vehicleDuty.vehicleDutyCode.ToString(),
                tripDTOList,
                workBlockDTOList
                );

            return(vehicleDutyDTO);
        }
Example #2
0
        public void nullDriver()
        {
            string        key     = "vdkey";
            string        vehicle = null;
            DateTime      date    = new DateTime(2022, 10, 11);
            List <String> trips   = new List <string>()
            {
                "trip1", "trip2", "trip3"
            };
            List <String> workblocks = new List <string>()
            {
                "wb1", "wb2", "wb3"
            };

            VehicleDuty vd = new VehicleDuty(key, vehicle, date, trips, workblocks);

            Assert.AreEqual(vd.Key, key);
            Assert.AreEqual(vd.Vehicle, vehicle);
            Assert.AreEqual(vd.Date, date);
            foreach (VDTripKey vdk in vd.Trips)
            {
                Assert.IsNotNull(trips.Contains(vdk.Value));
            }
            foreach (VDWorkblockKey vdwb in vd.Workblocks)
            {
                Assert.IsNotNull(trips.Contains(vdwb.Value));
            }
        }
Example #3
0
        public void testToDomain()
        {
            string        key     = "vdkey";
            string        vehicle = "vehicle1";
            DateTime      date    = new DateTime(2022, 10, 11);
            List <String> trips   = new List <string>()
            {
                "trip1", "trip2", "trip3"
            };
            List <String> workblocks = new List <string>()
            {
                "wb1", "wb2", "wb3"
            };
            long dateMiliseconds = (long)(new TimeSpan(date.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks)).TotalMilliseconds;

            VehicleDuty vdMapper = VehicleDutyMapper.toDomain(VehicleDutyMapper.toDTO(new CreatingVehicleDutyDto(key, vehicle, dateMiliseconds, trips.ToArray(), workblocks.ToArray())));
            VehicleDuty vd       = new VehicleDuty(key, vehicle, date, trips, workblocks);

            Assert.AreEqual(vdMapper.Key, vd.Key);
            Assert.AreEqual(vdMapper.Vehicle, vd.Vehicle);
            Assert.AreEqual(vdMapper.Date, vd.Date);
            foreach (VDTripKey vdk in vd.Trips)
            {
                Assert.IsNotNull(vdMapper.Trips.Contains(vdk));
            }
            foreach (VDWorkblockKey vdwb in vd.Workblocks)
            {
                Assert.IsNotNull(vdMapper.Workblocks.Contains(vdwb));
            }
        }
Example #4
0
        public async Task Post_NormalParameters_Sucess()
        {
            CreatingVehicleDutyDto creatingVehicleDutyDto = new CreatingVehicleDutyDto("VehicleDut", "V12", 3495566307000, new string[] { "VehicleDuty:1", "VehicleDuty:2" }, new string[] { "Workblock:1", "Workblock:2" });

            VehicleDutyDto VehicleDutyDto = VehicleDutyMapper.toDTO(creatingVehicleDutyDto);
            VehicleDuty    VehicleDuty    = VehicleDutyMapper.toDomain(VehicleDutyDto);
            var            mockRepository = new Mock <IVehicleDutyRepository>();

            mockRepository.Setup(repository => repository.AddAsync(It.IsAny <VehicleDuty>())).Returns(Task.FromResult(VehicleDuty));

            var mockUnit = new Mock <IUnitOfWork>();

            VehicleDutyService      VehicleDutyService = new VehicleDutyService(mockUnit.Object, mockRepository.Object);
            VehicleDutiesController controller         = new VehicleDutiesController(VehicleDutyService);

            var result = await controller.Create(creatingVehicleDutyDto);

            mockRepository.Verify(repository => repository.AddAsync(It.IsAny <VehicleDuty>()), Times.AtLeastOnce());
            mockUnit.Verify(unit => unit.CommitAsync(), Times.AtLeastOnce());
            Assert.IsInstanceOfType(result, typeof(ActionResult <VehicleDutyDto>));
        }
Example #5
0
        public async Task <VehicleDutyDTO> AddVehicleDuty(CreatingVehicleDutyDTO vehicleDutyDTO)
        {
            List <Trip> trips = new List <Trip>();

            foreach (var tripID in vehicleDutyDTO.tripList)
            {
                var trip = await _tripRepository.GetByIdAsync(new TripId(tripID));

                trips.Add(trip);
            }

            var vehicleDuty = new VehicleDuty(
                vehicleDutyDTO.vehicleDutyCode,
                trips
                );

            var savedVehicleDuty = await this._vehicleDutyRepository.AddAsync(vehicleDuty);

            await this._unitOfWork.CommitAsync();

            return(_vehicleDutyMapper.DomainToDTO(savedVehicleDuty));
        }
Example #6
0
        public async void AddDriverDuty()
        {
            var repo                      = new Mock <IDriverDutyRepository>();
            var repoWorkBlocks            = new Mock <IWorkBlockRepository>();
            var repoVehicleDutyRepository = new Mock <IVehicleDutyRepository>();

            var uow = new Mock <IUnitOfWork>();

            string driverDutyCode = "dDutycode1";
            var    tripList       = new List <Trip>();


            string lineID            = "Line:1";
            string pathID            = "Path:1";
            string tripDepartureTime = "20:12:10";

            var trip = new Trip(lineID, pathID, tripDepartureTime);

            tripList.Add(trip);

            var workBlock1 = new WorkBlock("9:0:0", "10:0:0", tripList);
            var workBlock2 = new WorkBlock("10:0:0", "13:0:0", tripList);
            var workBlock3 = new WorkBlock("14:0:0", "18:0:0", tripList);

            var workBlockList = new List <WorkBlock> {
                workBlock1, workBlock2, workBlock3
            };

            var driverDuty = new DriverDuty(driverDutyCode, workBlockList);

            var tripDTO  = new TripDTO(trip.Id.AsGuid(), new LineId(lineID), new PathId(pathID), tripDepartureTime);
            var tripsDTO = new List <TripDTO>()
            {
                tripDTO
            };

            var tripsDTOString = new List <string>()
            {
                trip.Id.ToString()
            };


            var cworkBlockDTO1 = new CreatingWorkBlockDTO(tripsDTOString, workBlock1.startingTime.time, workBlock1.endingTime.time);
            var cworkBlockDTO2 = new CreatingWorkBlockDTO(tripsDTOString, workBlock2.startingTime.time, workBlock2.endingTime.time);
            var cworkBlockDTO3 = new CreatingWorkBlockDTO(tripsDTOString, workBlock3.startingTime.time, workBlock3.endingTime.time);


            var listWorkBlocksString = new List <String>()
            {
                workBlock1.Id.Value, workBlock2.Id.Value, workBlock3.Id.Value
            };

            var workBlockDTO1 = new WorkBlockDTO(workBlock1.Id.AsGuid(), workBlock1.startingTime.time, workBlock1.endingTime.time, tripsDTO);
            var workBlockDTO2 = new WorkBlockDTO(workBlock2.Id.AsGuid(), workBlock2.startingTime.time, workBlock2.endingTime.time, tripsDTO);
            var workBlockDTO3 = new WorkBlockDTO(workBlock3.Id.AsGuid(), workBlock3.startingTime.time, workBlock3.endingTime.time, tripsDTO);

            var listWorkBlockDTO = new List <WorkBlockDTO>()
            {
                workBlockDTO1, workBlockDTO2, workBlockDTO3
            };

            var driverDutyDTO = new DriverDutyDTO(driverDuty.Id.AsGuid(), driverDutyCode, listWorkBlockDTO);

            var creatingDriverDutyDTO = new CreatingDriverDutyDTO(driverDutyCode, listWorkBlocksString);

            var workBlockID1 = new WorkBlockID(workBlockDTO1.Id);
            var workBlockID2 = new WorkBlockID(workBlockDTO2.Id);
            var workBlockID3 = new WorkBlockID(workBlockDTO3.Id);

            string vehicleDutyCode = "code:1";

            string registration = "AA11AA";
            string vin          = "123456789AAAAAAAA";
            string entranceDate = "27/01/1978";
            string vehicleType  = "vehicleType1";

            Vehicle vehicle = new Vehicle(registration, vin, entranceDate, vehicleType);


            VehicleDuty vehicleDuty = new VehicleDuty(vehicleDutyCode, tripList);

            repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID1)).ReturnsAsync(workBlock1);

            repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID2)).ReturnsAsync(workBlock2);

            repoWorkBlocks.Setup(_ => _.GetByIdAsync(workBlockID3)).ReturnsAsync(workBlock3);

            repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock1)).ReturnsAsync(vehicleDuty);

            repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock2)).ReturnsAsync(vehicleDuty);

            repoVehicleDutyRepository.Setup(_ => _.getVehicleDutyByWorkblock(workBlock3)).ReturnsAsync(vehicleDuty);

            repo.Setup(_ => _.AddAsync(driverDuty)).ReturnsAsync(driverDuty);

            var service = new DriverDutyService(repo.Object, repoWorkBlocks.Object, repoVehicleDutyRepository.Object, uow.Object);

            var actual = await service.AddDriverDuty(creatingDriverDutyDTO);

            Assert.Equal(driverDutyDTO, actual);
        }