示例#1
0
        public async Task <RequestResult <EquipmentTypeOutput> > CreateOrUpdateAsync(EditEquipmentTypeInput input)
        {
            if (input == null)
            {
                return(null);
            }
            if (_currentUser == null)
            {
                _currentUser = base.GetCurrentUser();
            }
            var rst = new RequestResult <EquipmentTypeOutput>()
            {
                Flag = false
            };

            if (VerficationExistName(ref rst, input))
            {
                return(rst);
            }
            return(input.Id != null ? await this.UpdateAsync(input).ConfigureAwait(false) : await this.CreateAsync(input).ConfigureAwait(false));
        }
示例#2
0
        private async Task <RequestResult <EquipmentTypeOutput> > CreateAsync(EditEquipmentTypeInput input)
        {
            var rst = new RequestResult <EquipmentTypeOutput>()
            {
                Flag = false
            };

            try
            {
                input.CreationTime  = DateTime.Now;
                input.CreatorUserId = _currentUser.Id;

                var data = ObjectMapper.Map <EquipmentType>(input);
                data = await _repository.InsertAsync(data).ConfigureAwait(false);

                rst.ResultData = ObjectMapper.Map <EquipmentTypeOutput>(data);
                rst.Flag       = true;
            }
            catch { }
            return(rst);
        }
示例#3
0
        private async Task <RequestResult <EquipmentTypeOutput> > UpdateAsync(EditEquipmentTypeInput input)
        {
            var rst = new RequestResult <EquipmentTypeOutput>()
            {
                Flag = false
            };

            try
            {
                var data = await _repository.FirstOrDefaultAsync(u => u.Id == input.Id).ConfigureAwait(false);

                input.CreationTime         = data.CreationTime;
                input.CreatorUserId        = data.CreatorUserId;
                input.LastModificationTime = DateTime.Now;
                input.CreatorUserId        = _currentUser.Id;
                ObjectMapper.Map(input, data);
                rst.ResultData = ObjectMapper.Map <EquipmentTypeOutput>(data);
                rst.Flag       = true;
            }
            catch { }
            return(rst);
        }
示例#4
0
        /// <summary>
        /// 验证名称是否已经存在
        /// </summary>
        /// <param name="rst"></param>
        /// <param name="input"></param>
        private bool VerficationExistName(ref RequestResult <EquipmentTypeOutput> rst, EditEquipmentTypeInput input)
        {
            var datas   = _repository.GetAll();
            var resData = datas.Where(item => item.Name == input.Name);

            if (resData.Count() > 0)
            {
                if (input.Id == null)
                {
                    rst.Message = "已经存存在相同名称的类型";
                    return(true);
                }
                else
                {
                    if (input.IsActive != resData.ToArray()[0].IsActive)
                    {
                        return(false);
                    }
                    else if (input.IsActive == resData.ToArray()[0].IsActive)
                    {
                        rst.Message = "未修改任何内容";
                        return(true);
                    }
                }
            }
            return(false);
        }