public IActionResult AdminGetEmpresaByEmpresaId(long empresaId) { // TODO: Arrumar ESTAGIOS para que os UsuariosEmpresas precisam ser cadastradas para ter estagios cadastrados EmpresaViewModel empresa = null; try { empresa = _empresasQueries.GetEmpresaById(empresaId); if (empresa == null) { return(StatusCode(404, $"Não foi encontrado uma empresa com id [{empresaId}] no banco de dados.")); } // Busca o vinculo entre usuario X empresa var usuarioEmpresaDb = _usuarioEmpresaRepository.GetByEmpresaId(empresa.Id); if (usuarioEmpresaDb == null) { return(StatusCode(404, $"Não foi encontrado um usuário com a empresa id [{empresaId}]")); } // Busca usuário por Id var usuarioDb = _usuarioRepository.GetById(usuarioEmpresaDb.UsuarioId); // Caso não existir if (usuarioDb == null) { return(StatusCode(404, $"Este Id de usuário [{usuarioEmpresaDb.UsuarioId}] não existe.")); } empresa.AcrescentarEmailUsuario(usuarioDb.Email); } catch (Exception) { return(StatusCode(500, "Houve um erro interno ao buscar a empresa específica.")); } return(StatusCode(200, empresa)); }
public IActionResult PerfilEmpresaGetEmpresaByUsuarioId(long usuarioId) { // Busca usuário por Id var usuarioDb = _usuarioRepository.GetById(usuarioId); // Caso não existir if (usuarioDb == null) { return(StatusCode(404, $"Este Id de usuário [{usuarioId}] não existe.")); } // Busca o vinculo entre usuario X empresa var usuarioEmpresaDb = _usuarioEmpresaRepository.GetByUsuarioId(usuarioDb.Id); // Caso não achar, o usuário não é uma empresa if (usuarioEmpresaDb == null) { return(StatusCode(400, "Este usuário não é uma Empresa.")); } EmpresaViewModel empresa = null; try { empresa = _empresasQueries.GetEmpresaById(usuarioEmpresaDb.EmpresaId); if (empresa == null) { return(StatusCode(404, $"Não foi encontrado uma empresa com id [{usuarioEmpresaDb.EmpresaId}] no banco de dados.")); } empresa.AcrescentarEmailUsuario(usuarioDb.Email); } catch (Exception) { return(StatusCode(500, "Houve um erro interno ao buscar a empresa específica.")); } return(StatusCode(200, empresa)); }