public async Task <IActionResult> Create(SpecieCreateModel model) { DataResult <Specie> result = await _specieService.CreateSpecie(model); if (result.Success) { return(RedirectToAction("Details", new { result.Data.Id })); } if (result.ErrorCode == ErrorCode.UniquenessError) { await InstallViewBags(); ModelState[nameof(model.Denomination)].Errors.Add("Such a record already exists"); return(View("Create", model)); } return(RedirectToAction("Error", "Error", new { result.ErrorCode, modelName = nameof(Specie) })); }
public async Task <Result> UpdateSpecie(int id, SpecieCreateModel model) { try { Specie entity = await _specieRepository.GetById(id); _mapper.MapUpdate(entity, model); return(await _specieRepository.Update(entity)); } catch (Exception ex) { _logger.LogError(ex, $"Problems with updating Specie by id : {id}"); return(new Result { Success = false, ErrorCode = ErrorCode.InternalError, }); } }
public async Task <DataResult <Specie> > CreateSpecie(SpecieCreateModel model) { try { DataResult <Specie> dataResult = await _specieRepository.Add(_mapper.MapBack(model)); Result result = await _specieRepository .Update(_mapper.MapUpdate(dataResult.Data, model)); return(dataResult); } catch (Exception ex) { _logger.LogError(ex, $"Problems with creating Specie"); return(new DataResult <Specie> { Success = false, ErrorCode = ErrorCode.InternalError, }); } }