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; } }
private string GetSelecao(MontaProvaFiltro filtro, EModuloFiltro modulo) { return(filtro.Filtros.FirstOrDefault(x => x.Modulo == modulo).Selecao); }