예제 #1
0
        public async Task <ProjetoDTO> ProcurarPorID(int id)
        {
            var projeto = context.Projetos.FirstOrDefault(p => p.Id == id);

            if (projeto == null)
            {
                return(null);
            }

            ProjetoDTO projetoDTO = new ProjetoDTO()
            {
                Id        = projeto.Id,
                Descricao = projeto.Descricao,
                Nome      = projeto.Nome
            };

            //documentos do projeto
            foreach (var docs in projeto.Documentos)
            {
                DocumentoDTO docDTO = new DocumentoDTO
                {
                    Id     = docs.Id,
                    Titulo = docs.Titulo,
                    URL    = docs.URL
                };
                projetoDTO.Documentos.Add(docDTO);
            }

            //releases
            foreach (var rel in projeto.Releases.OrderByDescending(r => r.Id))
            {
                ReleaseDTO releaseDTO = new ReleaseDTO
                {
                    Id            = rel.Id,
                    Nome          = rel.Nome,
                    Versao        = rel.Versao,
                    Usuario       = rel.Usuario.Nome,
                    DataCriacao   = rel.DataDeCriacao.ToString(),
                    DataLiberacao = rel.DataDeLiberacao.ToString(),
                    Descricao     = rel.Descricao
                };
                projetoDTO.Releases.Add(releaseDTO);
            }

            //equipe do projeto
            foreach (var equipe in projeto.ProjetoUsuarios)
            {
                ProjetoUsuarioDTO equipeDTO = new ProjetoUsuarioDTO
                {
                    Usuario = equipe.Usuario.Nome
                };
                projetoDTO.Equipe.Add(equipeDTO);
            }

            return(await Task.FromResult(projetoDTO));
        }
        public List <ProjetoUsuarioDTO> LoadRHProjeto(int idProjeto)
        {
            List <ProjetoUsuarioDTO> listaRecuros = new List <ProjetoUsuarioDTO>();

            try
            {
                using (SAARHEntities db = new SAARHEntities())
                {
                    var query = from recursoProj in db.Projeto_Funcionario
                                join usuario in db.Usuarios on recursoProj.prfu_usu_id equals usuario.usu_id
                                where recursoProj.prfu_proj_id == idProjeto
                                select new
                    {
                        recursoProj.prfu_id,
                        recursoProj.prfu_data_inicio,
                        recursoProj.prfu_data_termino,
                        usuario.usu_id,
                        usuario.usu_nome,
                        usuario.usu_sobrenome,
                        usuario.usu_email,
                    };

                    foreach (var item in query.ToList())
                    {
                        ProjetoUsuarioDTO projUsuarioDTO = new ProjetoUsuarioDTO();
                        projUsuarioDTO.ID            = item.prfu_id;
                        projUsuarioDTO.IDFuncionario = item.usu_id;
                        projUsuarioDTO.Nome          = item.usu_nome;
                        projUsuarioDTO.Sobrenome     = item.usu_sobrenome;
                        projUsuarioDTO.DataInicio    = item.prfu_data_inicio;
                        projUsuarioDTO.DataTermino   = item.prfu_data_termino;
                        projUsuarioDTO.Email         = item.usu_email;
                        listaRecuros.Add(projUsuarioDTO);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Excecoes.ProjetoExcecao("Ocorreu um problema ao recuperar a lista de recursos!");
            }

            return(listaRecuros);
        }