public async Task <IActionResult> TrocarCurso(int idCurso) { try { _cursoServices = new ServicoCurso(ref unitOfWork); Curso curso = await _cursoServices.BuscarPorId(idCurso); UsuarioADE usuario = await ObterUsuarioLogado(); usuario.Email = User.Identity.Name; usuario.Id = usuario.Id; usuario.UserName = usuario.UserName; usuario.IdCurso = curso.Identificador; if (usuario.IdInstituicao == curso.IdInstituicao) { await AtualizarUsuario(usuario); return(RedirectToAction("RedirecionarNovoCurso", "Instituicao", new { Area = "Principal", idCurso, idUsuario = usuario.Id })); } else { ModelState.AddModelError("Falha", "Usuário não está cadastrado nesta instituição"); ViewBag.Retorno = "Usuário não está cadastrado nesta instituição"; return(RedirectToAction("ListagemCursos", "Instituicao", new { area = "Principal", pageNumber = 1, idInstituicao = curso.IdInstituicao, ErrorMessage = ViewBag.Retorno })); } } catch (Exception ex) { ModelState.AddModelError("Falha", "Ocorreu um erro alterar o curso do usuário"); await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.AlteracaoCursoUsuario); return(RedirectToAction("Index", "Account")); } }
public async Task <IActionResult> Index() { try { if (UsuarioValido()) { UsuarioADE usuario = await ObterUsuarioLogado(); RegulamentacaoCurso regulamentacao = await servicoRegulamentacaoCurso.RecuperarRegulamentacao(usuario.IdCurso); regulamentacao.IdCursoNavigation = await servicoCurso.BuscarPorId(usuario.IdCurso); regulamentacao.IdCursoNavigation.Instituicao = await servicoInstituicao.BuscarPorId(regulamentacao.IdCursoNavigation.IdInstituicao); return(View(regulamentacao)); } else { ModelState.AddModelError("Falha", "Usuário não está autenticado"); return(RedirectToAction("Logout", "Account")); } } catch (Exception ex) { await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.ErroInterno); return(RedirectToAction("Index", "Account")); } }
public async Task <IActionResult> Exportar() { UsuarioADE usuario = await ObterUsuarioLogado(); try { Documento tabela = new Documento(); tabela.IdCursoNavigation = await _cursoServices.BuscarPorId(usuario.IdCurso); tabela.IdCursoNavigation.Instituicao = await _servicoInstituicao.BuscarPorId(tabela.IdCursoNavigation.IdInstituicao); RequisitosBasicosCabecalho requisitosFicha = await ObterRequisitosBasicosUsuario(usuario); ArquivoDownload Arquivo = await servicoRegistroDeHoras.GerarTabelaHistorico(usuario, tabela, requisitosFicha); //await _atividadeEstagioServices.VerificarTarefasEConcluir(usuario, EnumEntidadesSistema., tabela.Identificador, EnumTipoAtividadeEstagio.DownloadOuImpressao, 1); return(File(Arquivo.Bytes, Arquivo.TipoArquivo, $"Tabela de Registro de Horas - {usuario.ToString()}.docx")); } catch (Exception ex) { System.Threading.Thread.Sleep(3000); await LogError($"{ex.Message}", "RegistroHoras", EnumTipoLog.ImpressaoArquivo); } ViewBag.Retorno = "É necessário ao menos um registro para realizar a exportação do histórico."; ModelState.AddModelError("Falha", ViewBag.Retorno); return(View("Index")); }
public async Task <IActionResult> RedirecionarNovoCurso(int idCurso, string idUsuario) { try { UsuarioADE usuario = await ObterUsuarioPorEmailOuId(idUsuario); Curso curso = await _cursoServices.BuscarPorId(idCurso); ViewBag.Retorno = $"Curso alterado para {curso.Nome()}"; return(RedirectToAction("VisualizacaoDocumentosCurso", "ListagemDocumentos", new { area = "Principal", Mensagem = ViewBag.Retorno })); } catch (Exception ex) { await LogError(ex.Message, ex.Source, EnumTipoLog.ErroInterno); return(RedirectToAction("Index", "Account")); } }
public async Task <IActionResult> ExcluirCursoConfirmed(int id) { try { UsuarioADE usuario = await ObterUsuarioLogado(); var curso = await _servicoCurso.BuscarPorId(id); await _servicoCurso.RemoverAsync(usuario, curso); } catch (Exception ex) { await LogError(ex.Message, ex.Source + "-" + ex.TargetSite.Name, EnumTipoLog.DelecaoCurso); ModelState.AddModelError("Falha", "Ocorreu um erro ao excluir o curso, contate o suporte para maior exclarecimento"); } return(RedirectToAction(nameof(Index))); }
private new async Task <UsuarioADE> ObterUsuarioComDadosPessoais(UsuarioADE usuario) { _servicoCurso = new ServicoCurso(ref unitOfWork); _servicoHistoricoGeracaoDocumento = new ServicoHistoricoGeracaoDocumento(ref unitOfWork); List <HistoricoGeracaoDocumento> ListaHistoricoGeracao = await _servicoHistoricoGeracaoDocumento.RecuperarHistoricoDoUsuario(usuario.Id); Curso curso = await _servicoCurso.BuscarPorId(usuario.IdCurso); usuario.IdCursoNavigation = curso; usuario.HistoricoGeracaoDocumento = ListaHistoricoGeracao; return(usuario); }
private async Task <AcaoUsuarioViewModel> ParseAcaoUsuario(string EmailOrId = null) { UsuarioADE usuario = EmailOrId == null ? await ObterUsuarioLogado() : await ObterUsuarioPorEmailOuId(EmailOrId); AcaoUsuarioViewModel model = new AcaoUsuarioViewModel() { LogAcaoUsuario = await ObterPaginaLogAcaoUsuario(1, EmailOrId), Usuario = usuario, CursoUsuario = await _servicoCurso.BuscarPorId(usuario.IdCurso), QuantidadeDocumentosGerados = await _servicoHistoricoGeracaoDocumento.CountByFilter(x => x.IdUsuario == EmailOrId || x.IdUsuarioNavigation.Email == EmailOrId), AutorizacaoUsuario = await ObterAutorizacaoUsuario(usuario) }; return(model); }
private async Task <List <HistoricoGeracaoDocumento> > ObterHistoricoGeracaoComCurso(List <HistoricoGeracaoDocumento> historicos) { _servicoDocumento = new ServicoDocumento(ref unitOfWork, env); _servicoCurso = new ServicoCurso(ref unitOfWork); foreach (HistoricoGeracaoDocumento historico in historicos) { Documento documento = await _servicoDocumento.BuscarPorId(historico.Documento); Curso Curso = await _servicoCurso.BuscarPorId(documento.IdCurso); historico.IdDocumentoNavigation = documento; historico.IdDocumentoNavigation.IdCursoNavigation = Curso; } return(historicos); }