public async Task <string> CheckUpdateFarmInfoCmdValidatableAsync(UpdateFarmInfoCmd cmd) { if (cmd.Id.IsNullOrWhiteSpace()) { return("请指定所选农场"); } if (!await _farmService.ExistFarmInfoAsync(cmd.Id).ConfigureAwait(false)) { return("农场不存在"); } var farmInfo = await _farmService.GetFarmInfoAsync(cmd.Id).ConfigureAwait(false); if (!cmd.Name.IsNullOrWhiteSpace() && cmd.Name != farmInfo.Name && await _farmService.ExistFarmInfoByNameAsync(cmd.Name).ConfigureAwait(false)) { return("农场名称已存在"); } if (!cmd.Telephone.IsNullOrWhiteSpace() && cmd.Telephone != farmInfo.Telephone && await _farmService.ExistFarmInfoByTelephoneAsync(cmd.Name).ConfigureAwait(false)) { return("农场电话已存在"); } if (!cmd.PersonLiable.IsNullOrWhiteSpace()) { if (cmd.PersonLiable.Trim().Length != 24) { return("农场责任人不存在"); } if (await _memberService.ExistMemberInfoAsync(cmd.PersonLiable).ConfigureAwait(false)) { return("农场责任人不存在"); } } return(null); }
public async Task <string> UpdateFarmInfoAsync(UpdateFarmInfoCmd cmd, string currentMemberId) { var timeNow = DateTime.Now; var farmInfo = await GetFarmInfoAsync(cmd.Id).ConfigureAwait(false); farmInfo.ModifiedOn = timeNow; farmInfo.ModifiedBy = currentMemberId; if (cmd.MainImg != null) { var extension = cmd.MainImg.Name.Split('.').LastOrDefault(); var fileName = ObjectId.NewId(); var fileFullName = fileName + "." + extension; var path = Path.Combine(GetUploadDirectory(), fileFullName); using (FileStream destinationStream = File.Create(path)) { await cmd.MainImg.Value.CopyToAsync(destinationStream).ConfigureAwait(false); } farmInfo.MainImg = fileName; farmInfo.Extension = extension; } if (!cmd.Name.IsNullOrWhiteSpace()) { farmInfo.Name = cmd.Name.Trim(); } if (cmd.Longitude.HasValue) { farmInfo.Longitude = cmd.Longitude.Value; } if (cmd.Latitude.HasValue) { farmInfo.Latitude = cmd.Latitude.Value; } if (!cmd.Description.IsNullOrWhiteSpace() & cmd.Description.Trim() != farmInfo.Description) { farmInfo.Description = cmd.Description.Trim(); } if (!cmd.Remark.IsNullOrWhiteSpace() && cmd.Remark.Trim() != farmInfo.Remark) { farmInfo.Remark = cmd.Remark.Trim(); } if (!cmd.Address.IsNullOrWhiteSpace() && cmd.Address.Trim() != farmInfo.Address) { farmInfo.Address = cmd.Address.Trim(); } if (!cmd.Telephone.IsNullOrWhiteSpace() && cmd.Telephone.Trim() != farmInfo.Telephone) { farmInfo.Telephone = cmd.Telephone.Trim(); } if (cmd.Type.HasValue && cmd.Type != farmInfo.Type) { farmInfo.Type = cmd.Type.Value; } if (!cmd.PersonLiable.IsNullOrWhiteSpace() && cmd.PersonLiable.Trim() != farmInfo.PersonLiable) { farmInfo.PersonLiable = cmd.PersonLiable.Trim(); } if (cmd.Status.HasValue && cmd.Status.Value != farmInfo.Status) { farmInfo.Status = cmd.Status.Value; } using (var conn = CreateConnection()) { await conn.UpdateAsync(farmInfo).ConfigureAwait(false); return(farmInfo.Id); }; }