public async Task CreateOrUpdateBreedInfo(BreedInfoCreateOrUpdateInput input) { await CheckValidation(input); if (input.Id.HasValue) { await UpdateBreedInfoAsync(input); } else { await CreateBreedInfoAsync(input); } }
private async Task CheckValidation(BreedInfoCreateOrUpdateInput input) { var existingObj = (await _breedInfoRepository.GetAll().AsNoTracking() .FirstOrDefaultAsync(l => l.Code == input.Code)); if (existingObj != null && existingObj.Id != input.Id) { throw new UserFriendlyException(L("ThisCodeAlreadyExists")); } existingObj = (await _breedInfoRepository.GetAll().AsNoTracking() .FirstOrDefaultAsync(l => l.Name == input.Name)); if (existingObj != null && existingObj.Id != input.Id) { throw new UserFriendlyException(L("ThisNameAlreadyExists")); } }
public async Task <BreedInfoCreateOrUpdateInput> GetBreedInfoForEdit(NullableIdDto <int> input) { //Getting all available roles var output = new BreedInfoCreateOrUpdateInput(); if (input.Id.HasValue) { //Editing an existing user var breedInfo = await _breedInfoRepository.GetAsync(input.Id.Value); if (breedInfo != null) { ObjectMapper.Map <BreedInfo, BreedInfoCreateOrUpdateInput>(breedInfo, output); } } return(output); }
private async Task UpdateBreedInfoAsync(BreedInfoCreateOrUpdateInput input) { var breedInfo = ObjectMapper.Map <BreedInfo>(input); await _breedInfoRepository.UpdateAsync(breedInfo); }