public IActionResult CriarConta([FromBody] TrabalhadorViewDTO model) { _logger.LogDebug("A executar api/administrador/criar -> Post"); if (model is null) { _logger.LogWarning("O objeto AdministradorViewDTO é null!"); return(BadRequest(nameof(model))); } try { ServiceResult resultado = _administradorBusiness.CriarConta(model); if (resultado.Sucesso) { _logger.LogInformation($"O {model.Nome}, o Número de Funcionário {model.NumFuncionario} registou-se com sucesso."); return(Ok()); } else { _logger.LogInformation("Ocorreu um erro ao criar conta."); return(BadRequest(resultado.Erros)); } } catch (ArgumentNullException e) { _logger.LogError(e, e.Message); return(BadRequest(e.Message)); } catch (Exception e) { _logger.LogError(e, e.Message); return(StatusCode(500)); } }
public ServiceResult CriarConta(TrabalhadorViewDTO model) { _logger.LogDebug("A executar [FuncionarioBusiness -> CriarConta]"); if (string.IsNullOrWhiteSpace(model.Nome)) { throw new ArgumentNullException("Nome", "Campo não poder ser nulo!"); } if (string.IsNullOrWhiteSpace(model.Password)) { throw new ArgumentNullException("Password", "Campo não poder ser nulo."); } IList <int> erros = new List <int>(); if (!ValidaNome(model.Nome)) { _logger.LogDebug($"O Nome {model.Nome} é inválido."); erros.Add((int)ErrosEnumeration.NomeInvalido); } if (_funcionarioDAO.ExisteNumFuncionario(model.NumFuncionario)) { _logger.LogDebug($"O Número de Funcionário {model.NumFuncionario} já existe."); erros.Add((int)ErrosEnumeration.NumFuncionarioJaExiste); } if (!ValidaPassword(model.Password)) { _logger.LogDebug($"A Password {model.Password} é inválida."); erros.Add((int)ErrosEnumeration.PasswordInvalida); } if (!ValidaNumFuncionario(model.NumFuncionario)) { _logger.LogDebug($"O Número de Funcionário {model.NumFuncionario} é inválido."); erros.Add((int)ErrosEnumeration.NumFuncionarioInvalido); } if (!erros.Any()) { Funcionario funcionario = _mapper.Map <Funcionario>(model); funcionario.Password = _hashPasswordService.HashPassword(model.Password); _funcionarioDAO.InserirConta(funcionario); } return(new ServiceResult { Erros = new ErrosDTO { Erros = erros }, Sucesso = !erros.Any() }); }
public ServiceResult <TrabalhadorViewDTO> GetFuncionario(int numFuncionario) { _logger.LogDebug("A executar [FuncionarioBusiness -> GetFuncionario]"); IList <int> erros = new List <int>(); TrabalhadorViewDTO funcionarioDTO = null; Funcionario funcionario = _funcionarioDAO.GetContaNumFuncionario(numFuncionario); if (funcionario == null) { _logger.LogWarning($"Não existe nenhum Funcionário com Número de Funcionário {numFuncionario}!"); erros.Add((int)ErrosEnumeration.ContaNaoExiste); } else { funcionarioDTO = _mapper.Map <TrabalhadorViewDTO>(funcionario); } return(new ServiceResult <TrabalhadorViewDTO> { Erros = new ErrosDTO { Erros = erros }, Sucesso = !erros.Any(), Resultado = funcionarioDTO }); }
public ServiceResult <TrabalhadorViewDTO> GetAdministrador(int idFuncionario) { _logger.LogDebug("A executar [AdministradorBusiness -> GetAdministrador]"); IList <int> erros = new List <int>(); TrabalhadorViewDTO administradorDTO = null; Administrador administrador = _administradorDAO.GetContaIdFuncionario(idFuncionario); if (administrador == null) { _logger.LogWarning($"Não existe nenhum Funcionário com Número de Funcionário {idFuncionario}!"); erros.Add((int)ErrosEnumeration.ContaNaoExiste); } else { administradorDTO = _mapper.Map <TrabalhadorViewDTO>(administrador); } return(new ServiceResult <TrabalhadorViewDTO> { Erros = new ErrosDTO { Erros = erros }, Sucesso = !erros.Any(), Resultado = administradorDTO }); }