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)); }
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); }
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); }
/// <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); }