Exemplo n.º 1
0
        public async Task <IActionResult> Informacao(long id)
        {
            try
            {
                var trabalho = await _trabalhoRepository.GetInformacaoTrabalho(id);

                var evento = await _eventoRepository.GetEvento(trabalho.EventoId);

                var palavrasChave = await _trabalhoServices.GetPalavrasChave(id);

                var area = await _areaServices.GetArea(trabalho.SubAreaConhecimentoId);

                var subArea = await _areaRepository.GetSubArea(trabalho.SubAreaConhecimentoId);

                var status = await _trabalhoRepository.GetStatusTrabalho(trabalho.StatusTrabalhoId);

                List <AutorTrabalho> autoresId = await _autorRepository.GetAutoresId(id);

                List <AutorViewModel> autores = new List <AutorViewModel>()
                {
                };
                List <string> alunos = new List <string>()
                {
                };

                if (evento.Id == 2 || evento.Id == 3 || evento.Id == 4)
                {
                    alunos = await _trabalhoRepository.GetAlunos(id);
                }

                foreach (var autor in autoresId)
                {
                    var info = await _autorRepository.GetAutor(autor.UsuarioId);

                    var autorInfo = new AutorViewModel()
                    {
                        Email            = info.Email,
                        Id               = autor.UsuarioId,
                        Nome             = info.Nome,
                        Orientador       = autor.Orientador,
                        Sobrenome        = info.Sobrenome,
                        StatusId         = autor.StatusUsuarioId,
                        AutorResponsavel = autor.AutorResponsavel,
                    };
                    autores.Add(autorInfo);
                }


                var model = new InformacoesTrabalhoViewModel()
                {
                    Titulo            = trabalho.Titulo,
                    Identificacao     = trabalho.Identificacao,
                    Conclusao         = trabalho.Conclusao,
                    Metodologia       = trabalho.Metodologia,
                    CidadeEscola      = trabalho.CidadeEscola,
                    CodigoCEP         = trabalho.CodigoCEP,
                    DataCadastro      = trabalho.DataCadastro,
                    Introducao        = trabalho.Introducao,
                    NomeEscola        = trabalho.NomeEscola,
                    DataSubmissao     = trabalho.DataSubmissao,
                    Referencia        = trabalho.Referencia,
                    Resultado         = trabalho.Resultado,
                    TelefoneEscola    = trabalho.TelefoneEscola,
                    Resumo            = trabalho.Resumo,
                    TextoFinanciadora = trabalho.TextoFinanciadora,
                    EventoNome        = evento.EventoNome,
                    PalavrasChave     = palavrasChave,
                    Autores           = (autores == null) ? null : autores,
                    AreaConhecimento  = area,
                    SubArea           = subArea,
                    Status            = status,
                    Id = trabalho.Id,
                    StatusTrabalhoId = trabalho.StatusTrabalhoId,
                    EventoId         = evento.Id,
                    Alunos           = (alunos != null) ? alunos : null,
                };

                return(Json(model));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }