コード例 #1
0
ファイル: VehicleDutyMapper.cs プロジェクト: TiagoFBM/isep
        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);
        }
コード例 #2
0
        public async void GetAll()
        {
            var vehicleDutyServiceMock = new Mock <IVehicleDutyService>();
            var workBlockServiceMock   = new Mock <IWorkBlockService>();

            var wbList = new List <WorkBlockDTO>();

            var vdCode = "vd1";

            var vehicleDutyDTO   = new VehicleDutyDTO(Guid.NewGuid(), vdCode, wbList);
            var vehicleDutiesDTO = new List <VehicleDutyDTO>()
            {
                vehicleDutyDTO
            };

            vehicleDutyServiceMock.Setup(_ => _.GetAll()).ReturnsAsync(vehicleDutiesDTO);
            var controller = new VehicleDutyController(vehicleDutyServiceMock.Object, workBlockServiceMock.Object);

            var actual = await controller.GetAll();

            Assert.Equal(vehicleDutiesDTO, actual.Value);
        }
コード例 #3
0
        private async Task <List <ImportedWorkBlockDTO> > ImportVehicleDutiesAndWorkblocks(XmlDocument doc, List <ImportedTripDTO> importedTrips)
        {
            string xmlns = doc.DocumentElement.Attributes["xmlns"].Value;
            XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);

            nsmgr.AddNamespace("file", xmlns);

            var importedWorkBlockList = new List <ImportedWorkBlockDTO>();

            XmlNodeList vehicleDuties = doc.GetElementsByTagName("VehicleDuty");


            foreach (XmlNode vehicleDuty in vehicleDuties)
            {
                List <string> tripList = new List <string>();

                foreach (XmlNode refKey in vehicleDuty.ChildNodes[1].ChildNodes)
                {
                    string          keyString = refKey.Attributes["key"].Value;
                    ImportedTripDTO tripDTO   = getImportedTripFromKey(importedTrips, keyString);
                    if (tripDTO != null)
                    {
                        tripList.Add(tripDTO.Id.ToString());
                    }
                }

                string vdCode = vehicleDuty.Attributes["Name"].Value;

                CreatingVehicleDutyDTO cVDDTO = new CreatingVehicleDutyDTO(vdCode, tripList);

                var createdVDDTO = await this._vehicleDutyService.AddVehicleDuty(cVDDTO);

                XmlNodeList workblocksKeys = vehicleDuty.FirstChild.ChildNodes;

                List <WorkBlockDTO> cWBList = new List <WorkBlockDTO>();

                foreach (XmlNode workblockKey in workblocksKeys)
                {
                    string  key       = workblockKey.Attributes["key"].Value;
                    XmlNode workblock = doc.SelectSingleNode($"//file:WorkBlock[@key='{key}']", nsmgr);

                    List <string> wbTripList = new List <string>();
                    foreach (XmlNode refKey in workblock.FirstChild.ChildNodes)
                    {
                        string          keyString = refKey.Attributes["key"].Value;
                        ImportedTripDTO tripDTO   = getImportedTripFromKey(importedTrips, keyString);
                        if (tripDTO != null)
                        {
                            wbTripList.Add(tripDTO.Id.ToString());
                        }
                    }

                    string startingTime = TimeUtils.fromSecToString(Int32.Parse(workblock.Attributes["StartTime"].Value));
                    string endingTime   = TimeUtils.fromSecToString(Int32.Parse(workblock.Attributes["EndTime"].Value));

                    CreatingWorkBlockDTO cWBDTO = new CreatingWorkBlockDTO(wbTripList, startingTime, endingTime);
                    var wbDTO = await this._workBlockService.AddWorkBlock(cWBDTO);

                    cWBList.Add(wbDTO);
                    importedWorkBlockList.Add(new ImportedWorkBlockDTO(key, wbDTO));
                }

                VehicleDutyDTO createdVDDTOWithWorkBlocks = await this._vehicleDutyService.AddWorkBlocksToVehicleDuty(cWBList, new VehicleDutyId(createdVDDTO.Id));
            }
            return(importedWorkBlockList);
        }