示例#1
0
        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));
        }
示例#2
0
        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));
        }