public async Task<User> GetUser(int userId) { return await _autorRepository.GetAutor(userId); }
public async Task <IActionResult> CadastroTrabalho(CadastroTrabalhoViewModel model, int idEvento) { model.EventoId = idEvento; var user = await _userManager.FindByNameAsync(User.Identity.Name); var coautores = new List <AutorViewModel>(); AutorViewModel orientador = null; if (model.CoautoresId != null) { foreach (var autor in model.CoautoresId) { var coautor = await _autorRepository.GetAutor(autor); coautor.Orientador = false; coautor.Id = autor; coautor.AutorResponsavel = false; if (coautor.Nome == null) { coautor.StatusId = 3; } else { coautor.StatusId = 2; } coautores.Add(coautor); } } if (model.OrientadorId != 0) { orientador = await _autorRepository.GetAutor(model.OrientadorId); orientador.Orientador = true; orientador.Id = model.OrientadorId; orientador.AutorResponsavel = false; if (orientador.Nome == null) { orientador.StatusId = 3; } else { orientador.StatusId = 2; } } #region ModelState.IsValid if (!ModelState.IsValid) { if (model.OrientadorId == 0) { ViewBag.orientador = false; } var areas = await _areaRepository.GetAreas(); var periodos = await _trabalhoRepository.GetPeriodos(); var agencias = await _agenciaRepository.GetAgencias(); AutorViewModel autorPrincipal = new AutorViewModel() { Email = user.Email, Nome = user.Nome.ToUpper(), Sobrenome = user.Sobrenome.ToUpper(), Id = user.Id }; model.Orientador = orientador; model.Coautores = coautores; model.SubAreaNome = await _areaRepository.GetSubArea(model.SubAreaId); model.AutorPrincipal = autorPrincipal; model.Agencias = agencias; model.AreasConhecimento = areas; model.Periodos = periodos; ViewBag.erro = true; return(View(model)); } #endregion ModelState.IsValid //gera identificação model.Evento = await _eventoRepository.GetEvento(idEvento); string identificacao = await GeraIdentificacao(model.Evento); model.DataCadastro = DateTime.Now; model.StatusTrabalhoId = 3; var trabalhoId = await _trabalhoRepository.InsertTrabalho(model.StatusTrabalhoId, model.Titulo, model.Introducao, model.Metodologia, model.Resultados, model.Resumo, model.Conclusao, model.Referencias, model.NomeEscola, model.TelefoneEscola, model.CidadeEscola, identificacao, model.DataCadastro, model.TextoCitacao, model.CodigoCEP, model.AgenciaId, model.Evento.Id, model.ArtigoId, model.SubAreaId, model.PeriodoApresentacao); var palavrasChave = await _trabalhoServices.CadastraPalavrasChave(model.PalavraChave, trabalhoId); if (trabalhoId > 0) { var autorPrincipal = await _trabalhoRepository.CadastraAutorTrabalho(user.Id, 1, false, trabalhoId, true); if (idEvento == 2 || idEvento == 3 || idEvento == 4) { var cadastraAlunos = await _trabalhoRepository.CadastrarAlunoTrabalho(trabalhoId, model.AlunosNome); model.ReturnMenssagem = "Alterações salvas"; return(RedirectToAction("ConsultaTrabalho")); } else { //SALVAR AUTOR TRABALHO if (coautores != null) { foreach (var coautor in coautores) { var autorTrabalho = await _trabalhoRepository.CadastraAutorTrabalho(coautor.Id, coautor.StatusId, coautor.Orientador, trabalhoId, false); } } if (orientador != null) { var autorTrabalho = await _trabalhoRepository.CadastraAutorTrabalho(orientador.Id, orientador.StatusId, orientador.Orientador, trabalhoId, false); } model.ReturnMenssagem = "Alterações salvas"; return(RedirectToAction("ConsultaTrabalho")); } } return(BadRequest()); }