예제 #1
0
        public ResponseBase Alterar(AlterarCategoriaRequest request)
        {
            if (request == null)
            {
                AddNotification("AlterarCategoriaResponse", Message.X0_E_OBRIGATORIO.ToFormat("AlterarCategoriaResponse"));

                return(null);
            }

            if (request.Usuario == null)
            {
                AddNotification("Usuario", Message.X0_E_OBRIGATORIO.ToFormat("Usuario"));

                return(null);
            }

            Categoria categoria = _repositoryCategoria.ObterPorId(request.Id);

            if (categoria == null)
            {
                AddNotification("Id", Message.DADOS_NAO_ENCONTRADOS);

                return(null);
            }

            Usuario usuario = _repositoryUsuario.ObterPorId(request.Usuario.Id);

            categoria.Alterar(request.Nome, usuario, request.Cor);

            AddNotifications(categoria);

            if (IsInvalid())
            {
                return(null);
            }

            _repositoryCategoria.Editar(categoria);

            return(new ResponseBase());
        }