Exemplo n.º 1
0
        public async Task <IActionResult> AlterarAutor(int eventoId, long trabalhoId)
        {
            if (eventoId == 2 || eventoId == 3 || eventoId == 4)
            {
                var user = await _userManager.FindByNameAsync(User.Identity.Name);

                var alunosTrabalho = await _autorRepository.GetAlunos(trabalhoId);

                List <AlunoViewModel> alunoInfo = new List <AlunoViewModel>()
                {
                };


                foreach (var nome in alunosTrabalho)
                {
                    AlunoViewModel aluno = new AlunoViewModel();
                    aluno.Nome = nome;
                    aluno.Id   = nome.Replace(" ", "");

                    alunoInfo.Add(aluno);
                }

                AutoresViewModel model = new AutoresViewModel();
                //model.AutorPrincipal.Id = user.Id;
                model.AlunosInfo = alunoInfo;
                model.EventoId   = eventoId;
                return(View("AlterarAutores", model));
            }
            else
            {
                var autoresId = await _autorRepository.GetAutoresId(trabalhoId);

                AutoresViewModel model = new AutoresViewModel();
                model.Id       = trabalhoId;
                model.EventoId = eventoId;

                List <AutorViewModel> coautores = new List <AutorViewModel>()
                {
                };

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

                    var autorInfo = new AutorViewModel()
                    {
                        AutorResponsavel = autor.AutorResponsavel,
                        Id         = autor.UsuarioId,
                        Email      = info.Email,
                        Orientador = autor.Orientador,
                        StatusId   = autor.StatusUsuarioId
                    };
                    if (info.Nome != null)
                    {
                        autorInfo.Nome      = info.Nome.ToUpper();
                        autorInfo.Sobrenome = info.Sobrenome.ToUpper();
                    }
                    if (autorInfo.AutorResponsavel == true)
                    {
                        model.AutorPrincipal = autorInfo;
                    }
                    else if (autorInfo.Orientador == true)
                    {
                        model.Orientador = autorInfo;
                    }
                    else
                    {
                        coautores.Add(autorInfo);
                    }
                }
                model.EventoId  = eventoId;
                model.Coautores = coautores;
                return(View("AlterarAutores", model));
            }
        }