public static Funcionario AtualizarFuncionarioCommandToFuncionario(AtualizarFuncionarioCommand command) => command == null ? null : new Funcionario( command.Id, command.Nome, command.DataNascimento, command.Cpf, new Contato(command.Celular, command.Telefone, command.Email), command.CargoId, cargo: null, registroFuncionarioAtivo: true );
public IActionResult Atualizar(FuncionarioViewModel model) { var command = new AtualizarFuncionarioCommand( model.Id, model.Nome, model.DataNascimento, model.Cpf, model.Celular, model.Telefone, model.Email, model.Cargo.Id ); var result = handler.SendCommand(command); return(RedirectToAction("Index")); //return View(result); }
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!")); }