Example #1
0
 public List <int> ObterMenusPermitidoParaProduto(int idProduto)
 {
     using (var ctx = new DesenvContext())
     {
         var idsPermitidos = ctx.tblAccess_MenuProduto
                             .Where(x => x.intProdutoID == idProduto)
                             .Select(y => y.intMenuID)
                             .ToList();
         return(idsPermitidos);
     }
 }
        public int DesativaRegra(int idRegra)
        {
            using (var ctx = new DesenvContext())
            {
                var dados = ctx.tblAccess_Rule.Where(r => r.intRegraId == idRegra).ToList();
                dados.ForEach(x => { x.bitAtivo = false; });
                ctx.SaveChanges();
            }

            return(1);
        }
Example #3
0
        public int UpdateContribuicaoArquivo(ContribuicaoArquivo arquivo)
        {
            using (var ctx = new DesenvContext())
            {
                var entity = ctx.tblContribuicaoArquivo.FirstOrDefault(x => x.intContribuicaoArquivoID == arquivo.Id);

                entity.txtDescricao = arquivo.Descricao;
                entity.bitAtivo     = arquivo.BitAtivo;
                return(ctx.SaveChanges());
            }
        }
        public int UpdateContribuicao(Contribuicao e)
        {
            using (var ctx = new DesenvContext())
            {
                var entity = ctx.tblContribuicao.FirstOrDefault(x => x.intContribuicaoID == e.ContribuicaoId);

                entity.txtDescricao = e.Descricao;
                entity.bitEditado   = true;
                return(ctx.SaveChanges());
            }
        }
Example #5
0
        public Turma TurmaConvidadaAluno(int matricula, int anoInscricao = 0)
        {
            using (var ctx = new DesenvContext())
            {
                if (anoInscricao == 0)
                {
                    anoInscricao = Utilidades.GetAnoInscricao(Aplicacoes.INSCRICAO_CPMED);
                }
                int idClassificacao;
                switch (anoInscricao)
                {
                case 2015:
                    idClassificacao = (int)Classificacao.TipoClassificacao.TurmaConvidada2015;
                    break;

                case 2016:
                    idClassificacao = (int)Classificacao.TipoClassificacao.TurmaConvidada2016;
                    break;

                case 2017:
                    idClassificacao = (int)Classificacao.TipoClassificacao.TurmaConvidada2017;
                    break;

                case 2018:
                    idClassificacao = (int)Classificacao.TipoClassificacao.TurmaConvidada2018;
                    break;

                case 2019:
                    idClassificacao = (int)Classificacao.TipoClassificacao.TurmaConvidada2019;
                    break;

                default:
                    idClassificacao = 0;
                    break;
                }


                var descricao = (from cc in ctx.tblClientClassifications
                                 join ca in ctx.tblClassificationAttributes on cc.intAttributeID equals ca.intAttributeID
                                 where cc.intPersonID == matricula && cc.intClassificationID == idClassificacao
                                 select ca.txtDescription).FirstOrDefault();

                if (descricao == null)
                {
                    return(new Turma());
                }

                var idTurma = Convert.ToInt32(descricao.Split('-')[0].ToString());

                var turma = GetDiasAula(idTurma, true);
                turma.ID = idTurma;
                return(turma);
            }
        }
Example #6
0
        public static List <tblLogAvisos> GetLogAvisos(int clientID)
        {
            using (var ctx = new DesenvContext())
            {
                var avisos = (from a in ctx.tblLogAvisos
                              where a.intClientID == clientID
                              select a).ToList();

                return(avisos);
            }
        }
Example #7
0
        public static List <tblAvisos> GetAvisos(int applicationID)
        {
            using (var ctx = new DesenvContext())
            {
                var query = (from a in ctx.tblAvisos
                             where a.intApplicationID == applicationID
                             select a).ToList();

                return(query);
            }
        }
        public static int GetApostilaComDuvidasPorCapitulo(int numeroCapitulo, bool isAtiva = false)
        {
            using (var ctx = new DesenvContext())
            {
                var idApostila = (from ap in ctx.tblDuvidasAcademicas_DuvidaApostila
                                  join d in ctx.tblDuvidasAcademicas_Duvidas on ap.intDuvidaId equals d.intDuvidaID
                                  where d.bitAtiva == isAtiva && ap.intNumCapitulo == numeroCapitulo && ap.intTipoCategoria == (int)TipoCategoriaDuvidaApostila.Capitulo
                                  select ap.intMaterialApostilaId).FirstOrDefault();

                return(idApostila);
            }
        }
        public void AtualizarContadorDeQuestoes(ProvaAluno prova)
        {
            using (var ctx = new DesenvContext())
            {
                var provaBanco = ctx.tblContadorQuestoes_MontaProva.Where(x => x.intProvaId == prova.ID).FirstOrDefault();
                provaBanco.intAcertos       = prova.Acertos;
                provaBanco.intErros         = prova.Erros;
                provaBanco.intNaoRealizadas = prova.NaoRealizadas;

                ctx.SaveChanges();
            }
        }
Example #10
0
        public int UpdateNotificacaoAgendada(Notificacao notificacao)
        {
            try
            {
                notificacao.DataOriginal = Convert.ToDateTime(notificacao.Data);
                var regrasNotificacao = notificacao.RegrasVisualizacao.Select(x => x.Id).ToArray();

                using (var ctx = new DesenvContext())
                {
                    var notificacaoEntidade = ctx.tblNotificacao.FirstOrDefault(x => x.intNotificacaoId == notificacao.IdNotificacao);


                    if (notificacaoEntidade != null)
                    {
                        notificacaoEntidade.txtTitulo            = notificacao.Titulo;
                        notificacaoEntidade.txtTexto             = notificacao.Texto;
                        notificacaoEntidade.dteLiberacao         = notificacao.DataOriginal;
                        notificacaoEntidade.intTipoEnvio         = (int)notificacao.TipoEnvio;
                        notificacaoEntidade.txtInfoAdicional     = notificacao.InfoAdicional;
                        notificacaoEntidade.intNotificacaoTipoId = notificacao.TipoNotificacao.Id;
                        notificacaoEntidade.intStatusEnvio       = (int)EStatusEnvioNotificacao.NaoEnviado;
                    }


                    var notificacaoRegra = ctx.tblAccess_PermissionNotification.Where(x => x.intNotificacaoId == notificacao.IdNotificacao);

                    foreach (var item in notificacaoRegra)
                    {
                        ctx.Entry(item).State = EntityState.Deleted;
                    }

                    foreach (var regra in regrasNotificacao)
                    {
                        ctx.tblAccess_PermissionNotification.Add(new tblAccess_PermissionNotification
                        {
                            intEmployeeId     = Utilidades.UsuarioSistema,
                            intOrdem          = 1,
                            intPermissaoRegra = regra,
                            dteDataAlteracao  = DateTime.Now,
                            intNotificacaoId  = notificacaoEntidade.intNotificacaoId
                        });
                    }

                    ctx.SaveChanges();

                    return(1);
                }
            }
            catch
            {
                throw;
            }
        }
 public int AprovarContribuicao(int id)
 {
     using (var ctx = new DesenvContext())
     {
         var contribuicao = ctx.tblContribuicao.FirstOrDefault(x => x.intContribuicaoID == id);
         if (contribuicao != null)
         {
             contribuicao.bitAprovacaoMedgrupo = true;
         }
         return(ctx.SaveChanges());
     }
 }
Example #12
0
        public Stream GetConcurso(int imagemID)
        {
            var ctx = new DesenvContext();

            Byte[] image = (from img in ctx.tblQuestaoConcurso_Imagem
                            where img.intID == imagemID
                            select img.imgImagemOtimizada).FirstOrDefault();

            Stream imageStream = new MemoryStream(image);

            return(imageStream);
        }
Example #13
0
        public List <RegraCondicao> GetCondicoesAlunoChamados(int matricula)
        {
            var isCacheEnable = !RedisCacheManager.CannotCache(RedisCacheConstants.Access.KeyGetCondicoesAlunoChamados);
            var key           = isCacheEnable ? RedisCacheManager.GenerateKey(RedisCacheConstants.Access.KeyGetCondicoesAlunoChamados, matricula) : null;
            List <RegraCondicao> listaRegraCondicao = isCacheEnable ? RedisCacheManager.GetItemObject <List <RegraCondicao> >(key) : null;

            if (listaRegraCondicao != null)
            {
                return(listaRegraCondicao);
            }

            using (var ctx = new DesenvContext())
            {
                var perfilAluno = (from ccc in ctx.tblCallCenterCalls
                                   join d in ctx.tblAccess_Detail on ccc.intStatusInternoID equals d.intStatusInterno
                                   where ccc.intClientID == matricula &&
                                   ccc.intStatusID != (int)ChamadoCallCenter.StatusChamado.Excluido
                                   select new
                {
                    //Data = ccc.dteOpen,
                    StatusInterno = ccc.intStatusInternoID ?? -1,
                    CallCategory = ccc.intCallCategoryID
                }).Distinct().ToList();

                var lCondicoes = new List <RegraCondicao>();
                foreach (var r in perfilAluno)
                {
                    var condicao = new RegraCondicao
                    {
                        TipoAno         = RegraCondicao.tipoAno.Todos,
                        Produto         = -1,
                        StatusOV        = -1,
                        StatusPagamento = -1,
                        StatusInterno   = r.StatusInterno,
                        CallCategory    = r.CallCategory
                    };

                    var condicaoAjustada = AjustaValidadeChamadoInadimplencia(condicao, matricula);

                    lCondicoes.Add(condicaoAjustada);
                }

                listaRegraCondicao = lCondicoes;

                if (isCacheEnable && listaRegraCondicao != null)
                {
                    var timeoutHour = 1;
                    RedisCacheManager.SetItemObject(key, listaRegraCondicao, TimeSpan.FromHours(timeoutHour));
                }

                return(listaRegraCondicao);
            }
        }
Example #14
0
 private int GetIntIdFiltroAlunoMontaProva(int matricula, int intProvaId)
 {
     using (var ctx = new DesenvContext())
     {
         return((from f in ctx.tblFiltroAluno_MontaProva
                 join p in ctx.tblExercicio_MontaProva on f.intID equals p.intFiltroId
                 where p.intID == intProvaId &&
                 f.intClientId == matricula
                 select f.intID
                 ).FirstOrDefault());
     }
 }
Example #15
0
        public static List <int> AnosValidos(int idAplicacao, DateTime data)
        {
            var anoAtual = Utilidades.GetYear();
            var anos = new[] { anoAtual }.ToList();
            var ctx = new DesenvContext();

            anos = anos.Concat((from l in ctx.tblAccess_DataLimite
                                where l.dteDataLimite >= data &&
                                l.intAplicationID == idAplicacao
                                select l.intAlunoYear)).ToList();
            return(anos);
        }
 public ContribuicaoInteracao GetInteracao(ContribuicaoInteracao e)
 {
     using (var ctx = new DesenvContext())
     {
         var result = ctx.tblContribuicoes_Interacao.FirstOrDefault(x => x.intContribuicaoID == e.ContribuicaoId && x.intContribuicaoTipo == (int)e.TipoInteracao);
         if (result != null)
         {
             e.ContribuicaoInteracaoId = result.intContribuicaoInteracaoID;
         }
         return(e);
     }
 }
Example #17
0
 public int AtualizarNotificacoesPosEvento(List <tblNotificacaoEvento> notificacoes)
 {
     using (var ctx = new DesenvContext())
     {
         foreach (var notificacao in notificacoes)
         {
             ctx.tblNotificacaoEvento.Add(notificacao);
             ctx.Entry(notificacao).State = EntityState.Modified;
         }
         return(ctx.SaveChanges());
     }
 }
 public int DeletarContribuicao(int id)
 {
     using (var ctx = new DesenvContext())
     {
         var contribuicao = ctx.tblContribuicao.FirstOrDefault(x => x.intContribuicaoID == id);
         if (contribuicao != null)
         {
             contribuicao.bitAtiva = false;
         }
         return(ctx.SaveChanges());
     }
 }
Example #19
0
        public int BuscarSemanaPagaAlunoCancelado(int ano, int matricula, int anoAtual, int cursoID)
        {
            var semanaPaga = -1;

            using (var ctx = new DesenvContext())
            {
                var produtos = new List <int?>();
                if (cursoID == (int)Produto.Cursos.MED)
                {
                    produtos.Add((int)Utilidades.ProductGroups.MED);
                    produtos.Add((int)Utilidades.ProductGroups.CPMED);
                    produtos.Add((int)Utilidades.ProductGroups.MEDEAD);
                }
                else if (cursoID == (int)Produto.Cursos.MEDCURSO)
                {
                    produtos.Add((int)Utilidades.ProductGroups.MEDCURSO);
                    produtos.Add((int)Utilidades.ProductGroups.MEDCURSOEAD);
                }
                else
                {
                    produtos.Add(ProdutoEntity.GetProductByCourse(cursoID));
                }

                var listPagamentos = new List <csp_CustomClient_PagamentosProdutosGeral_Result>();
                var listOrders     = (from so in ctx.tblSellOrders
                                      join od in ctx.tblSellOrderDetails on so.intOrderID equals od.intOrderID
                                      join pr in ctx.tblProducts on od.intProductID equals pr.intProductID
                                      join c in ctx.tblCourses on pr.intProductID equals c.intCourseID
                                      where so.intClientID == matricula &&
                                      produtos.Contains(pr.intProductGroup1) &&
                                      c.intYear == ano
                                      select new { so.intOrderID, so.intStatus, so.intStatus2 }).ToList();

                if (!listOrders.Where(x => x.intStatus == (int)Utilidades.ESellOrderStatus.Ativa).Any() && listOrders.Any(x => x.intStatus2 == (int)Utilidades.ESellOrderStatus.Cancelada))
                {
                    listPagamentos = ctx.Set <csp_CustomClient_PagamentosProdutosGeral_Result>().FromSqlRaw("csp_CustomClient_PagamentosProdutosGeral @p1 = {0}, @p2 = {1}", matricula, ano, 0)
                                     .Where(x => x.intYear == ano).ToList();

                    if (listPagamentos.Count > 0)
                    {
                        var maxMonth = (int)listPagamentos.Where(y => y.txtStatus == "OK").Max(x => x.intMonth);
                        if (maxMonth > 0 && maxMonth <= 12)
                        {
                            var ultimoDiaMes = DateTime.DaysInMonth(anoAtual, maxMonth);
                            var d            = new DateTime(anoAtual, maxMonth, ultimoDiaMes);
                            semanaPaga = Utilidades.GetNumeroSemanaAtual(d);
                        }
                    }
                }
            }

            return(semanaPaga);
        }
Example #20
0
        public List <Label> GetByFilters(Label registro)
        {
            using (var ctx = new DesenvContext())
            {
                var labels = (from l in ctx.tblLabels where l.bitAtivo.Value select l);

                var grupos = (from g in ctx.tblLabelGroups select g);

                if (registro.Id > 0)
                {
                    labels = labels.Where(l => l.intLabelID == registro.Id);
                }
                else
                {
                    grupos = registro.IdGrupoLabel > 0 ?
                             grupos.Where(g => g.intLabelGroupID == registro.IdGrupoLabel)
                        :
                             grupos.Where(g => g.txtName.ToUpper() == registro.GrupoLabel.ToUpper());

                    labels = registro.IdContato > 0 ?
                             labels.Where(l => l.intContactID == registro.IdContato || l.bitPublico)
                        :
                             labels.Where(l => l.bitPublico);
                }

                var lista = (from g in grupos
                             join l in labels on g.intLabelGroupID equals l.intLabelGroupID
                             join p in ctx.tblPersons on l.intContactID equals p.intContactID
                             select new Label
                {
                    Id = l.intLabelID,
                    GrupoLabel = g.txtName,
                    IdGrupoLabel = g.intLabelGroupID,
                    Descricao = l.txtDescription,
                    Cor = l.txtColor,
                    ReadOnly = l.bitReadOnly,
                    Publico = l.bitPublico,
                    IdContato = l.intContactID,
                    NomeContato = p.txtName.TrimEnd(),
                    Detalhes = (from d in ctx.tblLabelDetails
                                where d.intLabelID == l.intLabelID && d.bitAtivo.Value
                                select new LabelDetalhe
                    {
                        Id = d.intLabelDetailID,
                        IdLabel = d.intLabelID,
                        IdItemMarcado = d.intObjetoID,
                        Padrao = d.bitPadrao
                    })
                }).ToList();
                return(lista);
            }
        }
Example #21
0
        private List <Pessoa> GetBloqueadosPorInscricao()
        {
            using (var ctx = new DesenvContext())
            {
                try
                {
                    var bloqueios = (
                        from ib in ctx.tblInscricoesBloqueios
                        group ib by ib.txtRegister into g
                        select new
                    {
                        txtRegister = g.Key,
                        MaxId = g.Max(ib => ib.intID)
                    });

                    return((from ib in ctx.tblInscricoesBloqueios
                            join b in bloqueios on ib.intID equals b.MaxId
                            join p1 in ctx.tblPersons on ib.txtRegister equals p1.txtRegister into p2
                            from p in p2.DefaultIfEmpty()
                            from c in ctx.tblClients_BlackList.Where(client => client.txtRegister == p.txtRegister).DefaultIfEmpty()
                            where ib.txtRegister == b.txtRegister &&
                            (!string.IsNullOrEmpty(ib.txtRegister))
                            select new Pessoa
                    {
                        Register = ib.txtRegister.TrimEnd(),
                        ID = p.intContactID,
                        Nome = p.txtName.TrimEnd(),
                        Email = c.txtEmail == null ? p.txtEmail1 : c.txtEmail,
                        Bloqueios = new List <Bloqueio>()
                        {
                            new Bloqueio()
                            {
                                dteDateTimeStart = ib.dteInclusaoBloqueio.Value,
                                MotivoBloqueio = ib.txtMotivo == null ? "Bloqueio Inscrições": ib.txtMotivo.TrimEnd(),
                                TabelaBloqueio = Bloqueio.TipoBloqueio.Inscricoes,
                                Categoria = (from bc in ctx.tblBlackList_Categoria
                                             where bc.intCategoriaID == ib.intBlackListCategoriaID
                                             select new BlackListCategoria()
                                {
                                    CategoriaID = bc.intCategoriaID,
                                    Descricao = bc.txtDescricao
                                }).FirstOrDefault()
                            }
                        }
                    }).ToList());
                }
                catch
                {
                    throw;
                }
            }
        }
Example #22
0
        private List <Pessoa> GetBloqueadosPorRecurso()
        {
            using (var ctx = new DesenvContext())
            {
                try
                {
                    var bloqueios = (
                        from ad in ctx.tblConcurso_Recurso_AccessDenied
                        group ad by ad.intClientID into g
                        select new
                    {
                        intClientID = g.Key,
                        MaxId = g.Max(ad => ad.intConcursoRecursoId)
                    });

                    return((from p in ctx.tblPersons
                            join ad in ctx.tblConcurso_Recurso_AccessDenied on p.intContactID equals ad.intClientID
                            from c in ctx.tblClients_BlackList.Where(client => client.txtRegister == p.txtRegister).DefaultIfEmpty()
                            join b in bloqueios on ad.intConcursoRecursoId equals b.MaxId
                            where ad.intClientID == b.intClientID &&
                            (!string.IsNullOrEmpty(p.txtRegister)) &&
                            ad.bitActive.Value
                            select new Pessoa
                    {
                        Register = p.txtRegister.TrimEnd(),
                        ID = p.intContactID,
                        Nome = p.txtName.TrimEnd(),
                        Email = c.txtEmail == null ? p.txtEmail1 : c.txtEmail,
                        Bloqueios = new List <Bloqueio>()
                        {
                            new Bloqueio()
                            {
                                dteDateTimeStart = ad.dteDateTimeStart.HasValue ? ad.dteDateTimeStart.Value : default(DateTime),
                                MotivoBloqueio = ad.txtReason.TrimEnd(),
                                TabelaBloqueio = Bloqueio.TipoBloqueio.Recursos,
                                Categoria = (from bc in ctx.tblBlackList_Categoria
                                             where bc.intCategoriaID == ad.intBlackListCategoriaID
                                             select new BlackListCategoria()
                                {
                                    CategoriaID = bc.intCategoriaID,
                                    Descricao = bc.txtDescricao
                                }).FirstOrDefault()
                            }
                        }
                    }).ToList());
                }
                catch
                {
                    throw;
                }
            }
        }
        public static int GetProfessorComDuvidaEncaminhada(int idCoordenador, bool isAtiva = false)
        {
            using (var ctx = new DesenvContext())
            {
                var idProfessor = (from en in ctx.tblDuvidasAcademicas_DuvidasEncaminhadas
                                   join d in ctx.tblDuvidasAcademicas_Duvidas on en.intDuvidaID equals d.intDuvidaID
                                   join pg in ctx.tblPessoaGrupo on en.intEmployeeID equals pg.intContactID
                                   where en.intGestorID == idCoordenador && d.bitAtiva == isAtiva
                                   select pg.intContactID.Value).FirstOrDefault();

                return(idProfessor);
            }
        }
Example #24
0
        public string GetUltimaVersao(Aplicacoes app)
        {
            using (var ctx = new DesenvContext())
            {
                var versao = ctx.tblAccess_Object_Application
                             .Where(x => x.intApplicationId == (int)app)
                             .Select(x => x.txtMinVersion)
                             .OrderByDescending(x => x)
                             .FirstOrDefault();

                return(versao);
            }
        }
Example #25
0
        public bool SetProvaSobDemanda(Prova prova)
        {
            using (var ctx = new DesenvContext())
            {
                var pr = ctx.tblConcurso_Provas.FirstOrDefault(p => p.intProvaID == prova.ID);
                if (pr != null)
                {
                    pr.bitSobDemanda = prova.SobDemanda;
                }

                return(ctx.SaveChanges() != 0);
            }
        }
Example #26
0
        public bool TemVideoRegistradoParaEnvio(int intVideoId, int?intVimeoId)
        {
            using (var ctx = new DesenvContext())
            {
                var data        = DateTime.Now.Date;
                var temRegistro = (from v in ctx.tblAcademicoVideoEmail
                                   where (v.intVimeoId == intVimeoId || v.intVideoId == intVideoId) &&
                                   v.dteOcorrencia.Value == data
                                   select v.intVideoId).Any();

                return(temRegistro);
            }
        }
Example #27
0
 public List <ApostilaCodigoDTO> GetCodigosAmigaveisApostilas()
 {
     using (var ctx = new DesenvContext())
     {
         var codigosAmigaveis = ctx.tblProductCodes.Select(x => new ApostilaCodigoDTO
         {
             ProdutoId = x.intProductId,
             TemaId    = x.intLessonTitleID,
             Nome      = x.txtCode
         }).ToList();
         return(codigosAmigaveis);
     }
 }
Example #28
0
        protected int DeleteQuestoesByProvaId(int ProvaId)
        {
            var sb = ProvaId.ToString();


            using (var ctx = new DesenvContext())
            {
                ctx.SetCommandTimeOut(180);
                ctx.Database.ExecuteSqlRaw(String.Format("DELETE from tblQuestao_MontaProva WHERE intProvaId = {0}", sb));
            }

            return(1);
        }
        public int DeleteNotificacoesAluno(int matricula)
        {
            using (var ctx = new DesenvContext())
            {
                var notificacoes = ctx.tblNotificacaoDuvidas.Where(x => x.intContactId == matricula);
                foreach (var item in notificacoes)
                {
                    ctx.tblNotificacaoDuvidas.Remove(item);
                }

                return(ctx.SaveChanges());
            }
        }
Example #30
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;
            }
        }