/// <summary> /// Remove uma editora. /// </summary> /// <param name="viewModel">ViewModel com as informações da editora.</param> /// <returns></returns> public async Task <bool> DeletePublisher(PublisherViewModel viewModel) { var publisher = viewModel.AutoMapear <PublisherViewModel, Publisher>(); _repository.Delete(publisher); OperationSuccesful = await _repository.Commit(); return(OperationSuccesful); }
/// <summary> /// Altera informações de uma editora cadastrada. /// </summary> /// <param name="viewModel">ViewModel com as informações da editora.</param> /// <returns></returns> public async Task <PublisherViewModel> UpdatePublisher(PublisherViewModel viewModel) { #region Validação da regra de negócios if (await _repository.Exists(p => p.Name == viewModel.Name && p.PublisherId != viewModel.PublisherId)) { ModelError = string.Format(Criticas.Ja_Existe_0, "outra Editora com este nome."); return(viewModel); } #endregion var publisher = viewModel.AutoMapear <PublisherViewModel, Publisher>(); _repository.Update(publisher); OperationSuccesful = await _repository.Commit(); return(viewModel); }
/// <summary> /// Cadastra uma nova editora. /// </summary> /// <param name="viewModel">ViewModel com as informações da editora.</param> /// <returns></returns> public async Task <PublisherViewModel> AddPublisher(PublisherViewModel viewModel) { #region Validação da regra de negócios if (await _repository.Exists(p => p.Name == viewModel.Name)) { ModelError = string.Format(Criticas.Ja_Cadastrada_0, "Editora"); return(viewModel); } #endregion var publisher = viewModel.AutoMapear <PublisherViewModel, Publisher>(); _repository.Insert(publisher); OperationSuccesful = await _repository.Commit(); //Recuperando o valor recebido pelo PublisherId. viewModel.PublisherId = publisher.PublisherId; return(viewModel); }