Exemple #1
0
        public IActionResult Put(Guid id, [FromBody] AtualizarUsuarioCommand command)
        {
            command.Id = id;
            var service = new AtualizarUsuarioService(command, _usuarioRepo);

            return(ReturnResponse(service, new { message = "Usuário atualizado com sucesso" }, null));
        }
Exemple #2
0
        public ICommandResult <Notificacao> Handler(AtualizarUsuarioCommand command)
        {
            try
            {
                Usuario usuario = UsuarioHelper.GerarEntidade(command);

                AddNotificacao(usuario.Login.Notificacoes);
                AddNotificacao(usuario.Senha.Notificacoes);

                if (!_repository.CheckId(usuario.Id))
                {
                    AddNotificacao("Id", "Id inválido. Este id não está cadastrado!");
                }

                if (_repository.CheckLogin(usuario.Login.ToString()))
                {
                    AddNotificacao("Login", "Esse login não está disponível pois já está sendo usado por outro usuário");
                }

                if (Invalido)
                {
                    return(new CommandResult <Notificacao>("Inconsistência(s) no(s) dado(s)", Notificacoes));
                }

                _repository.Atualizar(usuario);

                AtualizarUsuarioCommandOutput dadosRetorno = UsuarioHelper.GerarDadosRetornoUpdate(usuario);

                return(new CommandResult <Notificacao>("Usuário atualizado com sucesso!", dadosRetorno));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        public AtualizarUsuarioService(AtualizarUsuarioCommand command, IUsuarioRepository repository) : base(command)
        {
            _command    = command;
            _repository = repository;

            this.Run();
        }
Exemple #4
0
        public async Task <CommandResult> Handle(AtualizarUsuarioCommand request, CancellationToken cancellationToken)
        {
            var usuario = UsuarioFactory.Create(request);

            _usuarioRepository.Atualizar(usuario);

            _usuarioRepository.SaveChanges();

            var resultado = _managerResult.Success("Usuário atualizado com sucesso.");

            return(await Task.FromResult(resultado));
        }
Exemple #5
0
 public ICommandResult UsuarioPut(int id, [FromBody] AtualizarUsuarioCommand command)
 {
     try
     {
         command.Id = id;
         return(_handler.Handle(command));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public async Task <UsuarioModel> AtualizarUsuarioAsync(Guid usuarioId, AtualizarUsuarioRequest request)
        {
            var atualizarUsuarioCommand = new AtualizarUsuarioCommand
            {
                UsuarioId = usuarioId,
                Usuario   = _mapper
                            .Map <UsuarioModel>(request)
            };

            var result = await _mediator
                         .Send(atualizarUsuarioCommand);

            return(result);
        }
Exemple #7
0
        public void DeveSer_Invalido_Quando_Id_Nao_Informado()
        {
            var command = new AtualizarUsuarioCommand
            {
                Nome           = "Alexandre",
                Sobrenome      = "Del Picolo",
                Email          = "*****@*****.**",
                DataNascimento = DateTime.Now.AddYears(-1),
                Perfil         = (int)Perfil.Administrador
            };

            var modelState = new AtualizarUsuarioCommandValidator().Validate(command);

            Assert.IsTrue(modelState.Errors.Any(x => x.PropertyName == nameof(command.Id)));
        }
Exemple #8
0
        public ICommandResult Handle(AtualizarUsuarioCommand command)
        {
            try
            {
                if (!command.ValidarCommand())
                {
                    return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", command.Notifications));
                }

                int    id    = command.Id;
                string nome  = command.Nome;
                Email  login = new Email(command.Login);
                string senha = command.Senha;

                Usuario usuario = new Usuario(id, nome, login, senha);

                AddNotifications(login.Notifications);

                if (usuario.Id == 0)
                {
                    AddNotification("Id", "Id não está vinculado à operação solicitada");
                }

                if (!_repository.CheckId(usuario.Id))
                {
                    AddNotification("Id", "Este Id não está cadastrado! Impossível prosseguir com este Id.");
                }

                if (Invalid)
                {
                    return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", Notifications));
                }

                _repository.Atualizar(usuario);

                return(new CommandResult(true, "Usuário atualizado com sucesso!", new
                {
                    Id = usuario.Id,
                    Nome = usuario.Nome,
                    Login = usuario.Login.ToString(),
                    Senha = usuario.Senha
                }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public ICommandResult Handle(AtualizarUsuarioCommand command)
        {
            int id = command.Id;
            NomenclaturaPadrao nome = new NomenclaturaPadrao(command.Nome);
            CPF      cpf            = new CPF(command.CPF);
            Email    email          = new Email(command.Email);
            DateTime dataNascimento = command.DataNascimento;
            UF       estado         = new UF(command.Estado);
            CEP      cep            = new CEP(command.CEP);
            string   cidade         = command.Cidade;

            Usuario usuario = new Usuario(id, nome, cpf, email, dataNascimento, cep, estado, cidade);

            //Valida Entidade e Vo's
            AddNotifications(usuario.Notifications);

            //Validar Dependências
            if (usuario.Id == 0)
            {
                AddNotification("Id", "Id não está vinculada à operação solicitada");
            }

            if (Invalid)
            {
                return(new UsuarioCommandResult(false, "Por favor, corrija as inconsistências abaixo", Notifications));
            }

            //Persiste os dados
            string ret = _repository.Atualizar(usuario, usuario.Id);

            //Notifica
            if (ret == "Sucesso")
            {
                // Retornar o resultado para tela
                return(new UsuarioCommandResult(true, "Usuário atualizado com sucesso!", new
                {
                    Id = usuario.Id,
                    CPF = usuario.CPF.ToString(),
                    Nome = usuario.Nome.ToString()
                }));
            }
            else
            {
                // Retornar o resultado para tela
                return(new UsuarioCommandResult(false, "Por favor, corrija as inconsistências abaixo", ret));
            }
        }
        public static Usuario GerarEntidade(AtualizarUsuarioCommand command)
        {
            try
            {
                int                id         = command.Id;
                Texto              login      = new Texto(command.Login, "Login", 50);
                SenhaMedia         senha      = new SenhaMedia(command.Senha);
                EPrivilegioUsuario privilegio = command.Privilegio;

                Usuario usuario = new Usuario(id, login, senha, privilegio);
                return(usuario);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Exemple #11
0
        public Task <HttpResponseMessage> AtualizarUsuario([FromUri] int id, [FromBody] AtualizarUsuarioCommand command)
        {
            var response = new HttpResponseMessage();

            try
            {
                var responseMessage = _mediator.Send(command).Result;
            }
            catch (Exception)
            {
                //response = Request.CreateResponse(HttpStatusCode.OK, new { code = (int)HttpStatusCode.BadRequest, status = MESSAGE_ERROR, data = new { message = ex.Message } });
            }

            var tsc = new TaskCompletionSource <HttpResponseMessage>();

            tsc.SetResult(response);

            return(tsc.Task);
        }
        public async Task Handle_UsuarioHandler_AtualizarUsuario()
        {
            var comando = new AtualizarUsuarioCommand
            {
                UsuarioId = _memoryDb.Usuarios.Last().Id,
                Usuario   = new UsuarioModel
                {
                    Nome        = new Faker().Person.FirstName,
                    Sobrenome   = new Faker().Person.LastName,
                    Email       = "*****@*****.**",
                    TipoUsuario = TipoUsuario.Jogador
                }
            };

            var cmdResult = await _mediator.Send(comando);

            cmdResult.Should().NotBeNull();

            var updatedUser = _memoryDb.Usuarios.Last();

            updatedUser.Nome.Should().Be(comando.Usuario.Nome);
            updatedUser.Sobrenome.Should().Be(comando.Usuario.Sobrenome);
            updatedUser.TipoUsuario.Should().Be(comando.Usuario.TipoUsuario);
        }
        public async Task <IActionResult> AtualizarUsuarioAsync([FromBody] AtualizarUsuarioCommand usuario)
        {
            var result = await _mediator.Send(usuario);

            return(this.VerificarErros(_notifications, result));
        }
Exemple #14
0
        public async Task <CommandResult> Atualizar([FromRoute] long id, [FromBody] AtualizarUsuarioCommand command)
        {
            command.Id = id;

            return(await _mediator.Send(command));
        }
 public async Task <UsuarioModel> Handle(AtualizarUsuarioCommand request, CancellationToken cancellationToken)
 {
     return(await _usuarioServico.AtualizarUsuarioAsync(request.UsuarioId, request.Usuario));
 }
 public ICommandResult UsuarioAlterar([FromBody] AtualizarUsuarioCommand command)
 {
     return((UsuarioCommandResult)_handler.Handle(command));
 }
        public ActionResult <ApiResponse <AtualizarUsuarioCommandOutput, Notificacao> > UsuarioAlterar([FromBody] AtualizarUsuarioCommand command)
        {
            try
            {
                if (Request.Headers["ChaveAPI"].ToString() != _ChaveAPI)
                {
                    return(StatusCode(StatusCodes.Status401Unauthorized, new ApiResponse <object, Notificacao>("Acesso negado", new List <Notificacao>()
                    {
                        new Notificacao("Chave da API", "ChaveAPI não corresponde com a chave esperada")
                    })));
                }

                if (command == null)
                {
                    return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>("Parâmentros inválidos", new List <Notificacao>()
                    {
                        new Notificacao("Parâmetros de entrada", "Parâmetros de entrada estão nulos")
                    })));
                }

                if (!command.ValidarCommand())
                {
                    return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>("Parâmentros inválidos", command.Notificacoes)));
                }

                var result = _handler.Handler(command);

                if (result.Sucesso)
                {
                    return(StatusCode(StatusCodes.Status200OK, new ApiResponse <object, Notificacao>(result.Mensagem, result.Dados)));
                }
                else
                {
                    return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>(result.Mensagem, result.Erros)));
                }
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new ApiResponse <object, Notificacao>("Erro", new List <Notificacao>()
                {
                    new Notificacao("Erro", e.Message)
                })));
            }
        }