示例#1
0
        /// <summary>
        /// MPA版本才会用到的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <GetOperatorTreeForEditOutput> GetOperatorTreeForEdit(NullableIdDto <int> input)
        {
            var output = new GetOperatorTreeForEditOutput();
            OperatorTreeEditDto operatortreeEditDto;

            if (input.Id.HasValue)
            {
                var entity = await _operatortreeRepository.GetAsync(input.Id.Value);

                operatortreeEditDto = entity.MapTo <OperatorTreeEditDto>();

                //operatortreeEditDto = ObjectMapper.Map<List <operatortreeEditDto>>(entity);
            }
            else
            {
                operatortreeEditDto = new OperatorTreeEditDto();
            }

            output.OperatorTree = operatortreeEditDto;
            return(output);
        }
示例#2
0
        protected virtual async Task UpdateOperatorTreeAsync(OperatorTreeEditDto input)
        {
            var entity = await _operatortreeRepository.GetAsync(input.Id.Value);

            if (!entity.ParentId.HasValue || !input.ParentId.HasValue)
            {
                input.MapTo(entity);
            }
            else if (entity.ParentId.Value != input.ParentId.Value)
            {
                input.MapTo(entity);
                var parent = await _operatortreeRepository.FirstOrDefaultAsync(input.ParentId.Value);

                if (parent != null)
                {
                    entity.TreeCode   = GenderCode(parent.TreeCode);
                    entity.TreeLength = parent.TreeLength + 1;
                }
            }

            // ObjectMapper.Map(input, entity);
            await _operatortreeRepository.UpdateAsync(entity);
        }
示例#3
0
        protected virtual async Task <OperatorTreeEditDto> CreateOperatorTreeAsync(OperatorTreeEditDto input)
        {
            var entity = ObjectMapper.Map <OperatorTree>(input);

            if (input.ParentId.HasValue)
            {
                var parent = await _operatortreeRepository.FirstOrDefaultAsync(input.ParentId.Value);

                if (parent != null)
                {
                    entity.ShopId     = parent.ShopId;
                    entity.TreeCode   = GenderCode(parent.TreeCode);
                    entity.TreeLength = parent.TreeLength + 1;
                }
            }
            else
            {
                entity.TreeCode   = GenderCode("");
                entity.TreeLength = 1;
            }
            entity = await _operatortreeRepository.InsertAsync(entity);

            return(entity.MapTo <OperatorTreeEditDto>());
        }