예제 #1
0
        public async Task <string> QuantidadeDocumentosPorCursoJson()
        {
            try
            {
                _servicoCurso = new ServicoCurso(ref unitOfWork);

                List <Curso> cursos = await _servicoCurso.ListarAsync();

                List <Curso> CursosComDocumento = new List <Curso>();
                foreach (Curso curso in cursos)
                {
                    CursosComDocumento.Add(await this.ObterCursosComDocumento(curso));
                }
                IChart Chart = new QuantidadeDocumentosPorCurso(CursosComDocumento);
                return(Newtonsoft.Json.JsonConvert.SerializeObject(Chart));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Falha", "Erro ao obter dados do gráfico de Quantidade de Documentos Por Curso");
                ViewBag.Retorno = "Erro ao obter dados do gráfico de Quantidade de Documentos Por Curso";
                await LogError(ex.Message, ex.Source, ADE.Dominio.Models.Enums.EnumTipoLog.ErroInterno);

                return("{Values: ['1'], Labels: ['Erro']}");
            }
        }
        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 <PaginatedList <InformacaoCursoVM> > ParseInformacaoCursoVM(UsuarioADE usuario, int?idInstituicao, int?pageNumber)
        {
            _cursoServices      = new ServicoCurso(ref unitOfWork);
            _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);
            _servicoDocumento   = new ServicoDocumento(ref unitOfWork);
            List <Curso> ListaCursos = await _cursoServices.Filtrar(x => x.IdInstituicao == idInstituicao);

            List <InformacaoCursoVM> model = new List <InformacaoCursoVM>();

            foreach (Curso curso in ListaCursos)
            {
                curso.Instituicao = await _servicoInstituicao.BuscarPorId(curso.IdInstituicao);

                int QuantidadeAlunosCurso = await CountUsuarioByCurso(curso.Identificador);

                int QuantidadeDocumentosCurso = await _servicoDocumento.CountByCurso(curso.Identificador);

                InformacaoCursoVM InfoCurso = new InformacaoCursoVM(curso, QuantidadeAlunosCurso, QuantidadeDocumentosCurso);
                if (curso.Identificador == usuario.IdCurso)
                {
                    InfoCurso.CursoDoUsuario = true;
                }
                model.Add(InfoCurso);
            }

            PaginatedList <InformacaoCursoVM> lista = PaginatedList <InformacaoCursoVM> .Create(model.AsQueryable(), pageNumber ?? 1, pageSize);

            return(lista);
        }
 public GerenciamentoCurso(
     UserManager <UsuarioADE> userManager,
     ApplicationDbContext context
     ) : base(unitOfWork = new UnitOfWork(context), userManager)
 {
     _servicoCurso            = new ServicoCurso(ref unitOfWork);
     _servicoAlteracoes       = new ServicoAlteracaoEntidadesSistema(ref unitOfWork);
     _servicoInstituicao      = new ServicoInstituicao(ref unitOfWork);
     _servicoAreaEstagioCurso = new ServicoAreaEstagioCurso(ref unitOfWork);
 }
예제 #5
0
 public RegulamentacaoController(
     UserManager <UsuarioADE> userManager,
     SignInManager <UsuarioADE> signInManager,
     ApplicationDbContext _context
     ) : base(new UnitOfWork(_context), userManager, signInManager)
 {
     unitOfWork = new UnitOfWork(_context);
     servicoRegulamentacaoCurso = new ServicoRegulamentacaoCurso(ref unitOfWork);
     servicoCurso       = new ServicoCurso(ref unitOfWork);
     servicoInstituicao = new ServicoInstituicao(ref unitOfWork);
 }
        public async Task <PaginatedList <InformacaoInstituicao> > ObterPaginaInstituicao(int?PageNumber, UsuarioADE usuario, UnitOfWork unitOfWork = null)
        {
            unitOfWork          = unitOfWork ?? new UnitOfWork(context);
            _servicoCurso       = new ServicoCurso(ref unitOfWork);
            _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);

            List <Instituicao> instituicoes = await _servicoInstituicao.ListarAsync();

            List <InformacaoInstituicao> infoInstituicoes = await ObterInformacaoInstituicao(instituicoes, usuario);

            return(PaginatedList <InformacaoInstituicao> .Create(infoInstituicoes.AsQueryable(), PageNumber ?? 1, 9));
        }
예제 #7
0
 public PerfisController(
     UserManager <UsuarioADE> userManager,
     ApplicationDbContext _context
     ) : base(new UnitOfWork(_context), userManager)
 {
     context    = _context;
     unitOfWork = new UnitOfWork(context);
     _servicoHistoricoGeracaoDocumento = new ServicoHistoricoGeracaoDocumento(ref unitOfWork);
     _servicoListaAmigos = new ServicoListaAmigos(ref unitOfWork, userManager);
     _servicoCurso       = new ServicoCurso(ref unitOfWork);
     _servicoUsuario     = new ServicoUsuario(unitOfWork, userManager);
 }
예제 #8
0
        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);
        }
예제 #9
0
 public GerenciamentoDocumentoController(
     IHostingEnvironment env,
     UserManager <UsuarioADE> userManager,
     SignInManager <UsuarioADE> signInManager,
     ApplicationDbContext _context
     ) : base(unitOfWork = new UnitOfWork(_context), userManager, signInManager)
 {
     _documentoServices          = new ServicoDocumento(ref unitOfWork, env);
     _cursoServices              = new ServicoCurso(ref unitOfWork);
     _requisitoServices          = new ServicoRequisito(ref unitOfWork);
     _requisitoDocumentoServices = new ServicoRequisitoDeDocumento(ref unitOfWork);
     _servicoAlteracoes          = new ServicoAlteracaoEntidadesSistema(ref unitOfWork);
     _servicoInstituicao         = new ServicoInstituicao(ref unitOfWork);
 }
예제 #10
0
        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);
        }
        private async Task <InformacaoInstituicao> ObterInformacaoInstituicao(Instituicao instituicao, UsuarioADE usuario, UnitOfWork unitOf)
        {
            unitOfWork          = unitOfWork ?? new UnitOfWork(context);
            _servicoCurso       = new ServicoCurso(ref unitOfWork);
            _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);

            InformacaoInstituicao infoInstituicao = new InformacaoInstituicao()
            {
                QuantidadeCursosInstituicao = _servicoCurso.Filtrar(x => x.IdInstituicao == instituicao.Identificador).Result.Count,
                QuantidadeAlunosInstituicao = await CountUsuarioByInstituicao(instituicao.Identificador),
                Instituicao          = instituicao,
                InstituicaoDoUsuario = usuario.IdInstituicao == instituicao.Identificador ? true : false
            };

            return(infoInstituicao);
        }
예제 #12
0
 public ControleUsuariosController(
     IHostingEnvironment hostingEnvironment,
     UserManager <UsuarioADE> userManager,
     SignInManager <UsuarioADE> signInManager,
     AuthMessageSender emailSender,
     ApplicationDbContext context
     ) : base(unitOfWork = new UnitOfWork(context), userManager, signInManager, new ServicoRequisitoUsuario(ref unitOfWork))
 {
     this.context      = context;
     this._emailSender = emailSender;
     this._servicoLogAcoesEspeciais         = new ServicoLogAcoesEspeciais(ref unitOfWork);
     this._servicoHistoricoGeracaoDocumento = new ServicoHistoricoGeracaoDocumento(ref unitOfWork);
     this._servicoAlteracoes = new ServicoAlteracaoEntidadesSistema(ref unitOfWork);
     this._servicoCurso      = new ServicoCurso(ref unitOfWork);
     TemplatePathHelper      = new TemplatePathHelper(hostingEnvironment.WebRootPath);
 }
 public RegistroHorasController(
     UserManager <UsuarioADE> userManager,
     IHostingEnvironment _env,
     ApplicationDbContext _context
     ) : base(new UnitOfWork(_context), userManager)
 {
     context                   = _context;
     env                       = _env;
     unitOfWork                = new UnitOfWork(context);
     _servicoInstituicao       = new ServicoInstituicao(ref unitOfWork);
     _cursoServices            = new ServicoCurso(ref unitOfWork);
     servicoRegistroDeHoras    = new ServicoRegistroDeHoras(ref unitOfWork);
     _atividadeEstagioServices = new ServicoAtividadeEstagio(ref unitOfWork);
     _servicoRequisitoUsuario  = new ServicoRequisitoUsuario(ref unitOfWork);
     _servicoRequisito         = new ServicoRequisito(ref unitOfWork);
 }
 public UserHomeController(
     UserManager <UsuarioADE> userManager,
     IHostingEnvironment _env,
     ApplicationDbContext _context
     ) : base(new UnitOfWork(_context), userManager)
 {
     context           = _context;
     env               = _env;
     unitOfWork        = new UnitOfWork(context);
     _servicoDocumento = new ServicoDocumento(ref unitOfWork, env);
     _servicoHistoricoGeracaoDocumento = new ServicoHistoricoGeracaoDocumento(ref unitOfWork);
     _servicoRequisitoUsuario          = new ServicoRequisitoUsuario(ref unitOfWork);
     _servicoCurso             = new ServicoCurso(ref unitOfWork);
     _servicoInstituicao       = new ServicoInstituicao(ref unitOfWork);
     _servicoLogAcoesEspeciais = new ServicoLogAcoesEspeciais(ref unitOfWork);
     _servicoRegistroDeHoras   = new ServicoRegistroDeHoras(ref unitOfWork);
 }
예제 #15
0
 public ListagemDocumentosController(
     IHostingEnvironment env,
     UserManager <UsuarioADE> userManager,
     ApplicationDbContext _context
     ) : base(new UnitOfWork(_context), userManager)
 {
     context                      = _context;
     unitOfWork                   = new UnitOfWork(_context);
     _documentoServices           = new ServicoDocumento(ref unitOfWork, env);
     _servicoInstituicao          = new ServicoInstituicao(ref unitOfWork);
     _cursoServices               = new ServicoCurso(ref unitOfWork);
     _historicoGeracaoServices    = new ServicoHistoricoGeracaoDocumento(ref unitOfWork);
     _informacaoCursoServices     = new ServicoInformacaoCurso(ref unitOfWork);
     _informacaoDocumentoServices = new ServicoInformacaoDocumento(ref unitOfWork);
     _atividadeEstagioServices    = new ServicoAtividadeEstagio(ref unitOfWork);
     _servicoAreaEstagioCurso     = new ServicoAreaEstagioCurso(ref unitOfWork);
     _servicoRequisito            = new ServicoRequisito(ref unitOfWork);
 }
예제 #16
0
 public AccountController(UserManager <UsuarioADE> userManager,
                          SignInManager <UsuarioADE> signInManager,
                          IHostingEnvironment hostingEnvironment,
                          AuthMessageSender emailSender,
                          ApplicationDbContext context
                          ) : base(new UnitOfWork(context), userManager, signInManager, new ServicoRequisitoUsuario(ref unitOfWork))
 {
     _hostingEnvironment         = hostingEnvironment;
     _emailSender                = emailSender;
     this.signInManager          = signInManager;
     unitOfWork                  = new UnitOfWork(context);
     _servicoInstituicao         = new ServicoInstituicao(ref unitOfWork);
     _servicoCurso               = new ServicoCurso(ref unitOfWork);
     _servicoAreaEstagio         = new ServicoAreaEstagioCurso(ref unitOfWork);
     _servicoRequisito           = new ServicoRequisito(ref unitOfWork);
     _servicoRequisitosDeUsuario = new ServicoRequisitoUsuario(ref unitOfWork);
     TemplatePathHelper          = new TemplatePathHelper(hostingEnvironment.WebRootPath);
 }
        private async Task <List <InformacaoInstituicao> > ObterInformacaoInstituicao(List <Instituicao> instituicoes, UsuarioADE usuario)
        {
            unitOfWork          = unitOfWork ?? new UnitOfWork(context);
            _servicoCurso       = new ServicoCurso(ref unitOfWork);
            _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);
            List <InformacaoInstituicao> infoInstituicoes = new List <InformacaoInstituicao>();

            foreach (Instituicao instituicao in instituicoes)
            {
                int QuantidadeCursos = _servicoCurso.Filtrar(x => x.IdInstituicao == instituicao.Identificador).Result.Count;
                int QuantidadeAlunos = await CountUsuarioByInstituicao(instituicao.Identificador);

                bool InstituicaoDoUsuario             = usuario.IdInstituicao == instituicao.Identificador ? true : false;
                InformacaoInstituicao infoInstituicao = new InformacaoInstituicao(instituicao, QuantidadeAlunos, QuantidadeCursos, InstituicaoDoUsuario);
                infoInstituicoes.Add(infoInstituicao);
            }
            return(infoInstituicoes);
        }
        public async Task <PaginatedList <InformacaoCursoVM> > ParseInformacaoCursoVM(UsuarioADE usuario, int?idInstituicao, int?pageNumber, UnitOfWork unitOfWork)
        {
            try
            {
                unitOfWork          = unitOfWork ?? new UnitOfWork(context);
                _servicoCurso       = new ServicoCurso(ref unitOfWork);
                _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);
                _servicoDocumento   = new ServicoDocumento(ref unitOfWork);

                List <Curso> ListaCursos = await _servicoCurso.Filtrar(x => x.IdInstituicao == idInstituicao);

                List <InformacaoCursoVM> model = new List <InformacaoCursoVM>();
                foreach (Curso curso in ListaCursos)
                {
                    curso.Instituicao = await _servicoInstituicao.BuscarPorId(curso.IdInstituicao);

                    int QuantidadeAlunosCurso = await CountUsuarioByCurso(curso.Identificador);

                    int QuantidadeDocumentosCurso = await _servicoDocumento.CountByCurso(curso.Identificador);

                    InformacaoCursoVM InfoCurso = new InformacaoCursoVM(curso, QuantidadeAlunosCurso, QuantidadeDocumentosCurso);
                    if (curso.Identificador == usuario.IdCurso)
                    {
                        InfoCurso.CursoDoUsuario = true;
                    }
                    model.Add(InfoCurso);
                }

                PaginatedList <InformacaoCursoVM> lista = PaginatedList <InformacaoCursoVM> .Create(model.AsQueryable(), pageNumber ?? 1, 10);

                return(lista);
            }
            catch (System.Exception ex)
            {
                await LogError(ex.Message, ex.Source, Dominio.Models.Enums.EnumTipoLog.ErroInterno);

                return(null);
            }
        }
예제 #19
0
        public async Task <DashboardViewModel> ParseDashboardView()
        {
            _servicoDocumento = new ServicoDocumento(ref unitOfWork, env);
            _servicoCurso     = new ServicoCurso(ref unitOfWork);
            _servicoRequisito = new ServicoRequisito(ref unitOfWork);
            _loginServices    = new ServicoLogins(ref unitOfWork);
            _servicoHistoricoGeracaoDocumento = new ServicoHistoricoGeracaoDocumento(ref unitOfWork);
            _servicoLogAcoesEspeciais         = new ServicoLogAcoesEspeciais(ref unitOfWork);

            DashboardViewModel dbvm = new DashboardViewModel()
            {
                TotalCursos          = await _servicoCurso.Count(),
                TotalDocumentos      = await _servicoDocumento.Count(),
                TotalRequisitos      = await _servicoRequisito.Count(),
                TotalDownloads       = await _servicoHistoricoGeracaoDocumento.Count(),
                TotalUsuarios        = await ContarUsuarios(),
                TotalUsuariosLogados = await ContarUsuariosLogados(),
                LogAcoes             = await ObterPaginaLogAcaoEspecial(1, unitOfWork),
                ErrorLogs            = await ObterPaginaSysLog(1, unitOfWork)
            };

            return(dbvm);
        }
        private async Task <InformacaoInstituicao> ParseVisualizacaoInstituicaoView(int idInstituicao)
        {
            UsuarioADE usuario = await ObterUsuarioComDadosPessoais();

            Instituicao instituicao;

            unitOfWork          = unitOfWork ?? new UnitOfWork(context);
            _servicoCurso       = new ServicoCurso(ref unitOfWork);
            _servicoInstituicao = new ServicoInstituicao(ref unitOfWork);

            if (usuario.IdInstituicao > 0 && idInstituicao == 0)
            {
                instituicao = await _servicoInstituicao.BuscarPorId(usuario.IdInstituicao);
            }
            else
            {
                instituicao = await _servicoInstituicao.BuscarPorId(idInstituicao);
            }
            instituicao.Cursos = await _servicoCurso.Filtrar(x => x.IdInstituicao == instituicao.Identificador);

            InformacaoInstituicao InfoInstituicao = await ObterInformacaoInstituicao(instituicao, usuario, unitOfWork);

            return(InfoInstituicao);
        }
        public async Task <IActionResult> ObterResultadoPesquisaCurso(string NomeCurso)
        {
            UsuarioADE usuario = await ObterUsuarioLogado();

            _cursoServices    = new ServicoCurso(ref unitOfWork);
            _servicoDocumento = new ServicoDocumento(ref unitOfWork);
            ServicoInstituicao _servicoInstituicao  = new ServicoInstituicao(ref unitOfWork);
            Instituicao        instituicaoDoUsuario = await _servicoInstituicao.BuscarPorId(usuario.IdInstituicao);

            try
            {
                List <Curso> ListaCursos = await _cursoServices.Filtrar(x => x.NomeCurso.Contains(NomeCurso));

                List <InformacaoCursoVM> model = new List <InformacaoCursoVM>();
                foreach (Curso curso in ListaCursos)
                {
                    int quantidadeDocumentos = 0;
                    int quantidadeAlunos     = 0;

                    try
                    {
                        quantidadeDocumentos = await _servicoDocumento.CountByCurso(curso.Identificador);
                    }
                    catch (Exception ex)
                    {
                        await LogError($"Erro ao obter contagem de documentos para o curso {curso.ToString()} : {ex.Message}", ex.Source, Dominio.Models.Enums.EnumTipoLog.ErroInterno);
                    }

                    try
                    {
                        quantidadeAlunos = await CountUsuarioByCurso(curso.Identificador);
                    }
                    catch (Exception ex)
                    {
                        await LogError($"Erro ao obter contagem de usuários para o curso {curso.ToString()} : {ex.Message}", ex.Source, Dominio.Models.Enums.EnumTipoLog.ErroInterno);
                    }
                    curso.Instituicao = await _servicoInstituicao.BuscarPorId(curso.IdInstituicao);

                    InformacaoCursoVM InfoCurso = new InformacaoCursoVM(curso, quantidadeAlunos, quantidadeDocumentos);
                    if (curso.Identificador == usuario.IdCurso)
                    {
                        InfoCurso.CursoDoUsuario = true;
                    }
                    model.Add(InfoCurso);
                }
                if (ListaCursos.Count > 0)
                {
                    PaginatedList <InformacaoCursoVM> lista = PaginatedList <InformacaoCursoVM> .Create(model.AsQueryable(), 1, pageSize);

                    return(PartialView("_SelecaoCurso_CursoOption", lista));
                }
                else
                {
                    throw new Exception($"O resultado da pesquisa por curso está vazio : {NomeCurso}");
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Falha", $"Ocorreu um erro ao buscar cursos compatíveis com a pesquisa : {NomeCurso}");
                await LogError(ex.Message, "ObterResultadoPesquisaCurso", Dominio.Models.Enums.EnumTipoLog.ErroInterno);

                return(Json("{\"Erro\": \"Pesquisa não retornou nenhum curso\"}"));
            }
        }