/// <summary> /// Deleta um autor cadastrado. /// </summary> /// <param name="viewModel">ViewModel com as informações do autor.</param> /// <returns></returns> public async Task <bool> DeleteAuthor(AuthorViewModel viewModel) { var author = viewModel.AutoMapear <AuthorViewModel, Author>(); _repository.Delete(author); await Commit(); return(OperationSuccesful); }
/// <summary> /// Altera informações de um autor cadastrado. /// </summary> /// <param name="viewModel">ViewModel com as informações do autor.</param> /// <returns></returns> public async Task <AuthorViewModel> UpdateAuthor(AuthorViewModel viewModel) { #region Validação da regra de negócios if (await _repository.Exists(p => p.Name == viewModel.Name && p.AuthorId != viewModel.AuthorId)) { ModelError = string.Format(Criticas.Ja_Existe_0, "outro(a) Autor(a) com este nome."); return(viewModel); } #endregion var author = viewModel.AutoMapear <AuthorViewModel, Author>(); _repository.Update(author); await Commit(); return(viewModel); }
/// <summary> /// Cadastra um novo autor. /// </summary> /// <param name="viewModel">ViewModel com as informações do autor.</param> /// <returns></returns> public async Task <AuthorViewModel> AddAuthor(AuthorViewModel viewModel) { #region Validação da regra de negócios if (await _repository.Exists(p => p.Name == viewModel.Name)) { ModelError = string.Format(Criticas.Ja_Cadastrado_0, "Autor(a)"); return(viewModel); } #endregion var author = viewModel.AutoMapear <AuthorViewModel, Author>(); _repository.Insert(author); await Commit(); //Recuperando o valor recebido pelo AuthorId. viewModel.AuthorId = author.AuthorId; return(viewModel); }