Exemplo n.º 1
0
        public async Task <bool> Handle(AtualizarCategoriaCommand command, CancellationToken cancellationToken)
        {
            if (!command.ValidarCommand(command, _mediator))
            {
                return(false);
            }

            var categoria = await _categoriaRepositorio.ObterPorId(command.Id);

            if (categoria == null)
            {
                await _mediatorHandler.PublicarNotificacao(new DominioNotificacao("Categoria", "Categoria não encontrada"));

                return(false);
            }

            categoria.Alterar(command.Nome, command.Codigo, command.Ativo);
            if (await CategoriaJaExistente(categoria))
            {
                return(false);
            }

            _categoriaRepositorio.Atualizar(categoria);

            return(await _categoriaRepositorio.UnitOfWork.Commit());
        }
Exemplo n.º 2
0
        public async Task <ISaida> AlterarCategoria(AlterarCategoriaEntrada alterarEntrada)
        {
            // Verifica se as informações para alteração foram informadas corretamente
            if (alterarEntrada.Invalido)
            {
                return(new Saida(false, alterarEntrada.Mensagens, null));
            }

            var categoria = await _categoriaRepositorio.ObterPorId(alterarEntrada.IdCategoria, true);

            // Verifica se a categoria existe
            this.NotificarSeNulo(categoria, CategoriaMensagem.Id_Categoria_Nao_Existe);

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            // Verifica se a categoria pertece ao usuário informado.
            this.NotificarSeDiferentes(categoria.IdUsuario, alterarEntrada.IdUsuario, CategoriaMensagem.Categoria_Alterar_Nao_Pertence_Usuario);

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            // Verifica se já existe uma categoria com o mesmo nome e mesmo tipo
            this.NotificarSeVerdadeiro(
                await _categoriaRepositorio.VerificarExistenciaPorNomeTipo(alterarEntrada.IdUsuario, alterarEntrada.Nome, alterarEntrada.Tipo, alterarEntrada.IdCategoria),
                CategoriaMensagem.Categoria_Com_Mesmo_Nome_Tipo);

            if (alterarEntrada.IdCategoriaPai.HasValue)
            {
                var categoriaPai = await _categoriaRepositorio.ObterPorId(alterarEntrada.IdCategoriaPai.Value);

                // Verifica se a categoria pai existe
                this.NotificarSeNulo(categoriaPai, CategoriaMensagem.Categoria_Pai_Nao_Existe);

                if (categoriaPai != null)
                {
                    // Verificar se o tipo da categoria é igual ao tipo da categoria pai
                    this.NotificarSeDiferentes(alterarEntrada.Tipo, categoriaPai.Tipo, CategoriaMensagem.Tipo_Nao_Pode_Ser_Diferente_Tipo_Categoria_Pai);
                }
            }

            if (this.Invalido)
            {
                return(new Saida(false, this.Mensagens, null));
            }

            categoria.Alterar(alterarEntrada);

            _categoriaRepositorio.Atualizar(categoria);

            await _uow.Commit();

            return(_uow.Invalido
                ? new Saida(false, _uow.Mensagens, null)
                : new Saida(true, new[] { CategoriaMensagem.Categoria_Alterada_Com_Sucesso }, new CategoriaSaida(await _categoriaRepositorio.ObterPorId(categoria.Id))));
        }
Exemplo n.º 3
0
 public virtual void AlterarCategoria(Categoria Categoria)
 {
     try
     {
         _CategoriaRepositorio.Atualizar(Categoria);
         _CategoriaRepositorio.Commit();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 4
0
        public async Task <IActionResult> PutCategoria(int id, Categoria categoria)
        {
            if (id != categoria.CategoriaId)
            {
                return(BadRequest());
            }

            // verifica se os dados sao validos
            if (ModelState.IsValid)
            {
                await _categoriaRepositorio.Atualizar(categoria);

                return(Ok(new { mensagem = $"Categoria {categoria.Nome} atualizada com sucesso" }));
            }

            return(BadRequest(ModelState));
        }
        public async Task <IActionResult> put(int CategoriaId, CategoriaDto categoriaModel)
        {
            try
            {
                var categoria = await _categoriaRepositorio.ObterPorIdCategoria(CategoriaId);

                if (categoria == null)
                {
                    return(NotFound());
                }

                _mapper.Map(categoriaModel, categoria);
                _categoriaRepositorio.Atualizar(categoria);
                return(Created($"api/categoria/{categoria.Id}", _mapper.Map <CategoriaDto>(categoria)));
            }
            catch (System.Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Banco de Dados Falou"));
            }
        }
        public IActionResult Alterar(Guid id, CategoriaDTO categoria)
        {
            try
            {
                Categoria cat = _categoriaRepositorio.BuscarPorId(id);

                if (cat == null)
                {
                    return(NotFound());
                }

                cat.Nome      = categoria.Nome;
                cat.UrlImagem = categoria.UrlImagem;

                _categoriaRepositorio.Atualizar(cat);

                return(Ok(new { data = cat }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 7
0
 public void Atualizar(Categoria categoria)
 {
     _categoriaRepositorio.Atualizar(categoria);
 }
Exemplo n.º 8
0
 public Categoria Atualizar(Categoria categoria)
 {
     return(_categoriaRepositorio.Atualizar(categoria));
 }