private async Task <BaseResult> Update(District district, int updateBy = 0, string updateByUserName = "") { var result = new BaseResult() { Result = Result.Success }; var districtForUpdate = _districtRepository.Query().FirstOrDefault(d => d.Id == district.Id); if (districtForUpdate == null || district.Id <= 0) { result.Result = Result.Failed; result.Message = "Không tìm thấy quận yêu cầu!"; return(result); } else { var city = _cityRepository.Query() .AsNoTracking() .FirstOrDefault(c => c.Id == district.ParentId); var exists = _districtRepository.Query() .Include(d => d.City) .Any(c => !c.IsDeleted && c.City.Name == city.Name && c.Name == district.Name && c.Id != districtForUpdate.Id); if (exists) { result.Result = Result.Failed; result.Message = "Quận/Huyện đã tồn tại!"; return(result); } district.CityRealm = city.CityRealm; district.Name = district.Name.Trim(); district.UnsignName = !string.IsNullOrEmpty(district.Name) ? district.Name.Unsigned() : ""; } try { districtForUpdate = district.ToDistrict(districtForUpdate); //Cập nhật thông tin chung của thực thể districtForUpdate = districtForUpdate.UpdateCommonInt(updateBy, updateByUserName); await _districtRepository.UpdateAsync(districtForUpdate); var wards = _wardRepository.Query() .Include(d => d.District) .Where(d => d.ParentId == districtForUpdate.Id) .ToList(); foreach (Ward w in wards) { WardModel ward = w.ToModel(); ward.CityRealm = districtForUpdate.CityRealm; await _wardService.CreateOrUpdate(ward); } } catch (Exception e) { result.Result = Result.SystemError; result.Message = e.ToString(); } return(result); }
public async Task <IActionResult> CreateOrUpdate([FromBody] WardModel ward) { var result = await _wardService.CreateOrUpdate(ward); return(Ok(result)); }