Exemplo n.º 1
0
        public void SalvarLogs(Resultados resultados, bool sincronia = false)
        {
            ThreadPool.QueueUserWorkItem((state) =>
            {
                if (resultados == null)
                {
                    return;
                }

                var logRepository = new LogImportacaoRepository();

                var logProxy = new LogImportacaoProxy(logRepository)
                {
                    Sincronia = sincronia
                };

                if (resultados.CursosResult != null)
                {
                    logProxy.SaveCoursesLogs(resultados.CursosResult);
                }

                if (resultados.DisciplinasResult != null)
                {
                    logProxy.SaveDisciplinesResult(resultados.DisciplinasResult);
                }

                if (resultados.AlunosResult != null)
                {
                    logProxy.SaveAlumnLogs(resultados.AlunosResult);
                }

                if (resultados.ProfessoresResult != null)
                {
                    logProxy.SaveProfessorLogs(resultados.ProfessoresResult);
                }

                if (resultados.DisciplinasAlunoResult != null)
                {
                    logProxy.SaveAlumnDisciplinesLogs(resultados.DisciplinasAlunoResult);
                }

                if (resultados.DisciplinasProfessorResult != null)
                {
                    logProxy.SaveProfessorDisciplinesLogs(resultados.DisciplinasProfessorResult);
                }

                logRepository.Dispose();

                if (CanLog)
                {
                    System.Console.WriteLine("Logs salvos");
                }

                System.GC.Collect();
            });
        }
        protected void Importar()
        {
            AppConfigurationFactory.Refresh(_AppConfiguration);

            _ServiceBuilder
            .AddConfiguration(_AppConfiguration)
            .Build();

            _Controller
            .AddServiceBuilder(_ServiceBuilder)
            .AddConfiguration(_AppConfiguration);

            _Controller.ConfigureMoodleCache();

            var professores = _Controller.GetProfessores();
            var alunos      = _Controller.GetAlunos();

            var cursosResult              = _Controller.ImportarCursos();
            var disciplinaResult          = _Controller.ImportarDisciplinas();
            var professorResult           = _Controller.ImportarProfessores(professores);
            var professorDisciplinaResult = _Controller.ImportarProfessorDisciplinas(professores);
            var alunosResult              = _Controller.ImportarAlunos(alunos);
            var alunoDisciplinasResult    = _Controller.ImportarAlunoDisciplinas(alunos);

            var resultados = new Resultados()
            {
                CursosResult               = cursosResult,
                DisciplinasResult          = disciplinaResult,
                AlunosResult               = alunosResult,
                ProfessoresResult          = professorResult,
                DisciplinasAlunoResult     = alunoDisciplinasResult,
                DisciplinasProfessorResult = professorDisciplinaResult
            };

            _Controller.SalvarLogs(resultados);
        }