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); }
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); }
public IEnumerable <FuncionarioCommand> ObterTodos() { var lista = new List <FuncionarioCommand>(); _funcionarioService.ObterTodos().ToList().ForEach(m => lista.Add(FuncionarioAdapter.ToModelDomain(m))); return(lista); }
public FuncionarioCommand ObterPorId(Guid id) { var funcionario = _funcionarioService.ObterPorId(id); funcionario.AdicionarEndereco(_enderecoService.ObterEnderecoPorIdPessoa(funcionario.IdPessoa)); return(FuncionarioAdapter.ToModelDomain(funcionario)); }
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); }
public FuncionarioCommand Cadastrar(FuncionarioCommand funcionarioCommand) { var funcionario = _funcionarioService.Adicionar(FuncionarioAdapter.ToDomainModel(funcionarioCommand)); if (Commit()) { return(FuncionarioAdapter.ToModelDomain(funcionario)); } return(null); }
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); }
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!")); }
public async Task <FuncionarioViewModel> BuscarPorIdAsync(int id) { var funcionario = await funcionarioService.BuscarPorIdAsync(id); return(FuncionarioAdapter.FuncionarioToFuncionarioViewModel(funcionario)); }