public async Task CreateOrUpdateRegionInfo(RegionInfoCreateOrUpdateInput input) { await CheckValidation(input); if (input.Id.HasValue) { await UpdateRegionInfoAsync(input); } else { await CreateRegionInfoAsync(input); } }
private async Task CheckValidation(RegionInfoCreateOrUpdateInput input) { var existingObj = (await _regionInfoRepository.GetAll().AsNoTracking() .FirstOrDefaultAsync(l => l.Code == input.Code && l.CityInfoId == input.CityInfoId)); if (existingObj != null && existingObj.Id != input.Id) { throw new UserFriendlyException(L("ThisCodeAlreadyExists")); } existingObj = (await _regionInfoRepository.GetAll().AsNoTracking() .FirstOrDefaultAsync(l => l.Name == input.Name && l.CityInfoId == input.CityInfoId)); if (existingObj != null && existingObj.Id != input.Id) { throw new UserFriendlyException(L("ThisNameAlreadyExists")); } }
private async Task CreateRegionInfoAsync(RegionInfoCreateOrUpdateInput input) { var regionInfo = ObjectMapper.Map <RegionInfo>(input); await _regionInfoRepository.InsertAsync(regionInfo); }