示例#1
0
        public int Insert(List <Questao> questoes, MontaProvaFiltroPost filtroPost, MontaProvaFiltro filtro)
        {
            try
            {
                var filtroAluno = new tblFiltroAluno_MontaProva()
                {
                    bitAtivo            = true,
                    dteDataCriacao      = DateTime.Now,
                    intClientId         = filtroPost.Matricula,
                    txtAnos             = GetSelecao(filtro, EModuloFiltro.UltimosAnos),
                    txtConcursos        = GetSelecao(filtro, EModuloFiltro.Concursos),
                    txtJsonFiltro       = JsonConvert.SerializeObject(filtroPost),
                    txtNome             = filtroPost.Nome,
                    txtPalavraChave     = filtroPost.FiltroTexto,
                    txtEspecialidades   = GetSelecao(filtro, EModuloFiltro.Especialidades),
                    txtFiltrosEspeciais = GetSelecao(filtro, EModuloFiltro.FiltrosEspeciais),
                    intQtdQuestoes      = filtro.TotalQuestoes
                };

                using (var ctx = new DesenvContext())
                {
                    ctx.tblFiltroAluno_MontaProva.Add(filtroAluno);
                    ctx.SaveChanges();
                }

                var prova = new tblExercicio_MontaProva()
                {
                    dteDataCriacao = DateTime.Now,
                    bitAtivo       = true,
                    intFiltroId    = filtroAluno.intID
                };

                using (var ctx = new DesenvContext())
                {
                    ctx.tblExercicio_MontaProva.Add(prova);
                    ctx.SaveChanges();
                }

                var dt  = ToDataTable(questoes, filtroAluno.intID);
                var ret = BulkInsert(dt, "tblQuestao_MontaProva");
                ConfiguraProva(prova.intID, filtroPost.Matricula);

                RelacionarQuestoes(filtroAluno.intID, prova.intID);

                return(prova.intID);
            }
            catch
            {
                throw;
            }
        }
示例#2
0
 private string GetSelecao(MontaProvaFiltro filtro, EModuloFiltro modulo)
 {
     return(filtro.Filtros.FirstOrDefault(x => x.Modulo == modulo).Selecao);
 }