Пример #1
0
        public void GetProjectDetail_UserIdNotFound(string userName, string userId, int projectId)
        {
            _projectRepository.GetAll(x => x.Active).ReturnsForAnyArgs(ProjectList());
            var searchDto = new SearchProjectRequestDto
            {
                UserID = userId,
                ID     = projectId
            };

            var result = _projectProcessor.GetProjectDetail(searchDto, userName);

            _projectEntityToProjectDetailDtoMapper.AddMap(Arg.Any <Project>()).DidNotReceive();
        }
        private static void MapSolutionLoadEntities(string userName, Solution solution, Solution sharedSolution, DateTime dateTime)
        {
            IMapper <BasicLoad, BasicLoad>       _basicLoadEntityMapper    = new AutoMapper <BasicLoad, BasicLoad>();
            IMapper <ACLoad, ACLoad>             _acLoadEntityMapper       = new AutoMapper <ACLoad, ACLoad>();
            IMapper <UPSLoad, UPSLoad>           _upsLoadEntityMapper      = new AutoMapper <UPSLoad, UPSLoad>();
            IMapper <LightingLoad, LightingLoad> _lightingLoadEntityMapper = new AutoMapper <LightingLoad, LightingLoad>();
            IMapper <MotorLoad, MotorLoad>       _motorLoadEntityMapper    = new AutoMapper <MotorLoad, MotorLoad>();
            IMapper <WelderLoad, WelderLoad>     _welderLoadEntityMapper   = new AutoMapper <WelderLoad, WelderLoad>();

            Parallel.ForEach(sharedSolution.BasicLoadList, (load) =>
            {
                var loadEntity              = _basicLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.BasicLoadList.Add(loadEntity);
            });

            Parallel.ForEach(sharedSolution.ACLoadList, (load) =>
            {
                var loadEntity              = _acLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.ACLoadList.Add(loadEntity);
            });

            Parallel.ForEach(sharedSolution.LightingLoadList, (load) =>
            {
                var loadEntity              = _lightingLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.LightingLoadList.Add(loadEntity);
            });

            Parallel.ForEach(sharedSolution.UPSLoadList, (load) =>
            {
                var loadEntity              = _upsLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.UPSLoadList.Add(loadEntity);
            });

            Parallel.ForEach(sharedSolution.WelderLoadList, (load) =>
            {
                var loadEntity              = _welderLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.WelderLoadList.Add(loadEntity);
            });

            Parallel.ForEach(sharedSolution.MotorLoadList, (load) =>
            {
                var loadEntity              = _motorLoadEntityMapper.AddMap(load);
                loadEntity.SolutionID       = 0;
                loadEntity.ID               = 0;
                loadEntity.CreatedBy        = userName;
                loadEntity.ModifiedBy       = userName;
                loadEntity.CreatedDateTime  = dateTime;
                loadEntity.ModifiedDateTime = dateTime;
                loadEntity.Solution         = null;
                solution.MotorLoadList.Add(loadEntity);
            });
        }
        private void MapSolution(string userName, Solution solution, Solution sharedSolution, DateTime dateTime)
        {
            IMapper <SolutionSetup, SolutionSetup>                 _solutionSetupEntityMapper         = new AutoMapper <SolutionSetup, SolutionSetup>();
            IMapper <GasPipingSolution, GasPipingSolution>         _gasPipingSolutionEntityMapper     = new AutoMapper <GasPipingSolution, GasPipingSolution>();
            IMapper <ExhaustPipingSolution, ExhaustPipingSolution> _exhaustPipingSolutionEntityMapper = new AutoMapper <ExhaustPipingSolution, ExhaustPipingSolution>();
            IMapper <RecommendedProduct, RecommendedProduct>       _recommendedProductEntityMapper    = new AutoMapper <RecommendedProduct, RecommendedProduct>();

            var solutionName      = $"{sharedSolution.SolutionName} shared v1";
            var solutionNameExist = true;

            while (solutionNameExist)
            {
                solutionNameExist = _solutionRepository.GetAll(x => solutionName.Equals(x.SolutionName, StringComparison.InvariantCultureIgnoreCase)).Any();
                if (solutionNameExist)
                {
                    var updatedSolutionName = solutionName.Substring(0, solutionName.Length - 1);
                    var solutionVersion     = solutionName[solutionName.Length - 1];
                    solutionName = $"{updatedSolutionName}{Convert.ToInt32(solutionVersion.ToString()) + 1}";
                }
            }

            solution.ID               = 0;
            solution.ProjectID        = sharedSolution.ProjectID;
            solution.SolutionName     = solutionName;
            solution.CreatedBy        = userName;
            solution.ModifiedBy       = userName;
            solution.OwnedBy          = userName;
            solution.CreatedDateTime  = dateTime;
            solution.ModifiedDateTime = dateTime;
            solution.Active           = true;
            solution.Description      = sharedSolution.Description;
            solution.SpecRefNumber    = sharedSolution.SpecRefNumber;

            if (sharedSolution.SolutionSetup.FirstOrDefault() != null)
            {
                solution.SolutionSetup = new List <SolutionSetup> {
                    _solutionSetupEntityMapper.AddMap(sharedSolution.SolutionSetup.FirstOrDefault())
                };
                solution.SolutionSetup.FirstOrDefault().Solution = null;
                solution.SolutionSetup.FirstOrDefault().ID       = 0;
            }

            MapSolutionLoadEntities(userName, solution, sharedSolution, dateTime);

            solution.SharedProjectSolution = null;

            var gaspiping = solution.GasPipingSolutions.FirstOrDefault();

            if (gaspiping != null)
            {
                gaspiping.SolutionID        = 0;
                solution.GasPipingSolutions = new List <GasPipingSolution> {
                    gaspiping
                };
            }

            var exhaustpiping = solution.ExhaustPipingSolutions.FirstOrDefault();

            if (exhaustpiping != null)
            {
                exhaustpiping.SolutionID        = 0;
                solution.ExhaustPipingSolutions = new List <ExhaustPipingSolution> {
                    exhaustpiping
                };
            }

            var recommendedProduct = sharedSolution.RecommendedProduct.FirstOrDefault();

            if (recommendedProduct != null)
            {
                solution.RecommendedProduct = new List <RecommendedProduct> {
                    _recommendedProductEntityMapper.AddMap(sharedSolution.RecommendedProduct.FirstOrDefault())
                };
                solution.RecommendedProduct.FirstOrDefault().Solution = null;
                solution.RecommendedProduct.FirstOrDefault().ID       = 0;
            }
        }