コード例 #1
0
 public void ConvertUnits(Period period, List <UnitIndexInPeriodDTO> unitIndexInperiodListParam)
 {
     Console.WriteLine("Starting units Convert progress...");
     unitIndexInperiodList = unitIndexInperiodListParam;
     root            = unitDataProvider.GetRoot();
     totalUnitsCount = unitDataProvider.GetCount();
     convertUnit_Rec(root, period.Id, null);
     publisher.Publish(new UnitConverted(unitList));
 }
コード例 #2
0
        private UnitDTO createDestinationUnit(UnitIntegrationDTO sourceUnit)
        {
            var res = new UnitDTO
            {
                Name = sourceUnit.UnitName,

                CustomFields   = new List <CustomFieldDTO>(),
                DictionaryName = sourceUnit.ID.ToString(),
                TransferId     = sourceUnit.TransferId
            };

            return(res);
        }
コード例 #3
0
        private void convertUnit_Rec(UnitIntegrationDTO sourceUnitDTO, long periodId, long?unitParentIdParam)
        {
            var unit = unitService.GetByTransferId(sourceUnitDTO.TransferId);

            if (unit == null)
            {
                var desUnitDTO = createDestinationUnit(sourceUnitDTO);
                unit = unitService.AddUnit(desUnitDTO);
            }

            var unitInPriodAssignment = createDestinationUnitInPeriod(unit, unitParentIdParam);
            var res = unitInPeriodServiceWrapper.AddUnitInPeriod(periodId, unitInPriodAssignment);

            unitList.Add(unit);
            var unitDataChildIdList = unitDataProvider.GetChildIDs(sourceUnitDTO.ID);

            foreach (var unitDataChildId in unitDataChildIdList)
            {
                var unitdataChid = unitDataProvider.GetUnitDetail(unitDataChildId);
                convertUnit_Rec(unitdataChid, periodId, res.UnitId);
            }
            Console.WriteLine("Unit convert progress state: " + unitList.Count + " From " + totalUnitsCount.ToString());
        }