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; } }
public int DeleteNovo(ProvaAluno provaAluno) { try { tblExercicio_MontaProva item = null; using (var ctx = new DesenvContext()) { item = ctx.tblExercicio_MontaProva.FirstOrDefault(p => p.intID == provaAluno.ID); } if (item == null) { return(0); } else { //Deleta Todas As Questões Relacionadas a Prova DeleteQuestoesByProvaId(provaAluno.ID); int?filtroId; using (var ctx = new DesenvContext()) { item = ctx.tblExercicio_MontaProva.FirstOrDefault(p => p.intID == provaAluno.ID); filtroId = item.intFiltroId; ctx.tblExercicio_MontaProva.Remove(item); ctx.SaveChanges(); } using (var ctx = new DesenvContext()) { if (!ctx.tblExercicio_MontaProva.ToList().Any(x => x.intFiltroId == filtroId && (bool)x.bitAtivo)) { DeleteQuestoesNaoAssociadas(filtroId.Value); var filtroADeletar = ctx.tblFiltroAluno_MontaProva.FirstOrDefault(x => x.intID == filtroId); ctx.tblFiltroAluno_MontaProva.Remove(filtroADeletar); } ctx.SaveChanges(); } return(1); } } catch (Exception) { throw; } }
public ProvaAluno InsertProva(int idFiltro) { var novaProva = new tblExercicio_MontaProva() { bitAtivo = true, dteDataCriacao = DateTime.Now, intFiltroId = idFiltro }; using (var ctx = new DesenvContext()) { ctx.tblExercicio_MontaProva.Add(novaProva); ctx.SaveChanges(); } int matricula; using (var ctx = new DesenvContext()) { matricula = ctx.tblFiltroAluno_MontaProva.FirstOrDefault(x => x.intID == idFiltro).intClientId; } ConfiguraProva(novaProva.intID, matricula); var nQuestoes = RelacionarQuestoes(idFiltro, novaProva.intID); return(new ProvaAluno() { ID = novaProva.intID, Acertos = 0, DataCriacao = Utilidades.DateTimeToUnixTimestamp(novaProva.dteDataCriacao), Erros = 0, NaoRealizadas = nQuestoes, QuantidadeQuestoes = nQuestoes }); }