Esempio n. 1
0
        public FuncionarioCommand Atualizar(FuncionarioCommand funcionarioCommand)
        {
            var funcionario = _funcionarioService.ObterPorId(funcionarioCommand.IdPessoa.Value);

            funcionario.AtualizarDados(funcionarioCommand.Nome, funcionarioCommand.CPF, funcionarioCommand.Celular,
                                       funcionarioCommand.Email, funcionarioCommand.Funcao, funcionarioCommand.Imagem);

            var funcionarioRetorno = _funcionarioService.Atualizar(funcionario);

            var endereco = _enderecoService.ObterEnderecoPorIdPessoa(funcionarioCommand.IdPessoa.Value);

            endereco.AtualizarDados(funcionarioCommand.Endereco.Logradouro, funcionarioCommand.Endereco.Numero, funcionarioCommand.Endereco.Complemento,
                                    funcionarioCommand.Endereco.Bairro, funcionarioCommand.Endereco.CidadeId, funcionarioCommand.Endereco.EstadoId,
                                    funcionarioCommand.Endereco.Cep);

            var enderecoRetorno = _enderecoService.Atualizar(endereco);

            funcionarioRetorno.AdicionarEndereco(enderecoRetorno);

            funcionarioRetorno.DefinirEstabelecimento(_estabelecimentoService.ObterPorId(funcionarioRetorno.EstabelecimentoId));

            if (Commit())
            {
                funcionarioRetorno.AnularEstabelecimento();
                return(FuncionarioAdapter.ToModelDomain(funcionarioRetorno));
            }

            return(null);
        }
Esempio n. 2
0
        public IList <string> Atualizar(FuncionarioDto obj, int id)
        {
            mensagens = new List <string>();
            try
            {
                Cargo   cargo   = obterCargo(obj.CargoId);
                Empresa empresa = obterEmpresa(obj.EmpresaId);

                Funcionario funcionario = FuncionarioAdapter.Mapear(obj, cargo, empresa, id);

                if (!funcionario.Validar())
                {
                    mensagens.Add("Funcionario invalido");
                }

                if (mensagens.Count == 0)
                {
                    _funcionarioRepository.Atualizar(funcionario);
                }
            }catch (Exception e)
            {
                mensagens.Add(e.Message);
            }
            return(mensagens);
        }
Esempio n. 3
0
        public IEnumerable <FuncionarioCommand> ObterTodos()
        {
            var lista = new List <FuncionarioCommand>();

            _funcionarioService.ObterTodos().ToList().ForEach(m => lista.Add(FuncionarioAdapter.ToModelDomain(m)));

            return(lista);
        }
Esempio n. 4
0
        public FuncionarioCommand ObterPorId(Guid id)
        {
            var funcionario = _funcionarioService.ObterPorId(id);

            funcionario.AdicionarEndereco(_enderecoService.ObterEnderecoPorIdPessoa(funcionario.IdPessoa));

            return(FuncionarioAdapter.ToModelDomain(funcionario));
        }
Esempio n. 5
0
        public IEnumerable <FuncionarioCommand> ObterTodosPorEstabelecimentoEhStatus(Guid idEstabelecimento, bool ativo)
        {
            var lista = new List <FuncionarioCommand>();

            _funcionarioService.ObterTodosPorEstabelecimentoEhStatus(idEstabelecimento, ativo).ToList()
            .ForEach(m => lista.Add(FuncionarioAdapter.ToModelDomain(m)));

            return(lista);
        }
Esempio n. 6
0
        public FuncionarioCommand Cadastrar(FuncionarioCommand funcionarioCommand)
        {
            var funcionario = _funcionarioService.Adicionar(FuncionarioAdapter.ToDomainModel(funcionarioCommand));

            if (Commit())
            {
                return(FuncionarioAdapter.ToModelDomain(funcionario));
            }

            return(null);
        }
Esempio n. 7
0
        public UsuarioCommand Autenticar(string userName, string senha)
        {
            var usuarioRetorno = UsuarioAdapter.ToModelDomain(_usuarioService.Autenticar(userName, senha));

            if (usuarioRetorno != null)
            {
                var funcionarioRetorno = FuncionarioAdapter.ToModelDomain(_funcionarioService.ObterPorId(usuarioRetorno.IdPessoa.Value));

                if (funcionarioRetorno != null)
                {
                    usuarioRetorno.Funcionario = funcionarioRetorno;
                }
            }

            return(usuarioRetorno);
        }
Esempio n. 8
0
        public EstabelecimentoCommand Cadastrar(FuncionarioCommand funcionarioCommand)
        {
            var estabelecimento = _estabelecimentoService.Adicionar(EstabelecimentoAdapter.ToDomainModel(funcionarioCommand.Estabelecimento));

            funcionarioCommand.EstabelecimentoId = estabelecimento.IdPessoaJuridica;
            var funcionario = _funcionarioService.Adicionar(FuncionarioAdapter.ToDomainModel(funcionarioCommand));

            funcionarioCommand.Usuario.IdPessoa = funcionario.IdPessoa;
            var usuario = _usuarioService.Adicionar(UsuarioAdapter.ToDomainModel(funcionarioCommand.Usuario));

            if (Commit())
            {
                //TODO: Verificar objeto recursivo
                return(EstabelecimentoAdapter.ToModelDomain(estabelecimento));
            }

            return(null);
        }
        public async Task <ICommandResult> Handle(AtualizarFuncionarioCommand command, CancellationToken cancellationToken)
        {
            var result = new CommandResult(true, "Não foi possível atualizar Funcionário!");

            // Ações necessárias para resolver o comando
            if (!command.IsValid())
            {
                return(result.AddNotifications("Dados Inválidos"));
            }

            if (service.ExisteEmail(command.Email))
            {
                return(result.AddNotifications("Email já cadastrado"));
            }

            if (service.ExisteCPF(command.Cpf))
            {
                return(result.AddNotifications("CPF já cadastrado"));
            }

            try
            {
                var funcionarioAtualizado = FuncionarioAdapter.AtualizarFuncionarioCommandToFuncionario(command);
                //var funcionarioAtual = service.BuscarPorId(funcionarioAtualizado.Id);
                //funcionarioAtual = funcionarioAtualizado;

                service.Atualizar(funcionarioAtualizado);
            }
            catch (Exception ex)
            {
                return(new CommandResult(false, $"Ocorreu um erro ao atualizar Funcionário. Erro.: {ex.Message}"));
            }

            // Invocar eventos

            if (!await service.SaveChanges())
            {
                return(result);
            }

            return(new CommandResult(true, "Funcionário atualizado com sucesso!"));
        }
        public async Task <ICommandResult> Handle(CadastrarFuncionarioCommand command, CancellationToken cancellationToken)
        {
            var result = new CommandResult(false, "Não foi possível cadastrar Funcionário.");

            if (!command.IsValid())
            {
                return(result.AddNotifications("Dados Inválidos!"));
            }

            if (service.ExisteEmail(command.Email))
            {
                return(result.AddNotifications("Email já cadastrado"));
            }

            if (service.ExisteCPF(command.Cpf))
            {
                return(result.AddNotifications("CPF já cadastrado"));
            }

            var funcionario = new Funcionario();

            try
            {
                funcionario = FuncionarioAdapter.CadastrarFuncionarioCommandToFuncionario(command);
                service.Adicionar(funcionario);
            }
            catch (Exception ex)
            {
                return(new CommandResult(false, $"Ocorreu um erro ao cadastrar Funcionário. Erro.: {ex.Message}"));
            }

            new Thread(() => cadastrarFuncionarioEventHandler.Handle(
                           FuncionarioAdapter.FuncionarioToCadastrarFuncionarioEvent(funcionario), CancellationToken.None)
                       ).Start();

            if (!await service.SaveChanges())
            {
                return(result);
            }

            return(new CommandResult(true, "Funcionário cadastrado com sucesso!"));
        }
Esempio n. 11
0
        public async Task <FuncionarioViewModel> BuscarPorIdAsync(int id)
        {
            var funcionario = await funcionarioService.BuscarPorIdAsync(id);

            return(FuncionarioAdapter.FuncionarioToFuncionarioViewModel(funcionario));
        }