public async Task <OperationResult> CreateGenre(GenreCreateOrUpdateDto genre) { var genreModel = mapper.Map <GenreCreateOrUpdateDto, Genre>(genre); var doesExists = await repository.FindAsync(g => g.Value == genreModel.Value); if (doesExists.Any()) { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Payload = doesExists }); } await repository.AddAsync(genreModel); var repoResult = await repository.SaveChangesAsync(); if (repoResult > 0) { return(new OperationResult() { IsSuccessful = true, Payload = genreModel }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } }
public async Task <IActionResult> Post([FromBody] GenreCreateOrUpdateDto genre) { var result = await _genreService.CreateGenre(genre); if (result.IsSuccessful) { return(Ok(result.Payload)); } if (result.Payload != null) { return(Conflict("Object already exists!")); } return(StatusCode(500, result.Message)); }
public async Task <IActionResult> Put(int id, [FromBody] GenreCreateOrUpdateDto genre) { var result = await _genreService.EditGenre(id, genre); if (result.IsSuccessful) { return(Ok(result.Payload)); } if (result.Payload == null) { return(NotFound()); } else { return(Conflict()); } }
public async Task <OperationResult> EditGenre(int id, GenreCreateOrUpdateDto genre) { var doesExists = await repository.FindAsync(g => g.Value == genre.Value && g.Id != id); if (doesExists.Any()) { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Payload = doesExists }); } var genreInDb = await repository.GetAsync(id); if (genreInDb != null) { genreInDb.Value = genre.Value; var repoResult = await repository.SaveChangesAsync(); if (repoResult > 0) { return(new OperationResult() { IsSuccessful = true, Payload = mapper.Map <Genre, GenreDto>(genreInDb) }); } else { return(OtherServices.GetIncorrectDatabaseConnectionResult()); } } else { return(new OperationResult() { IsSuccessful = false, IsClientError = true, Message = "Obiekt nie istnieje" }); } }