Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }