public bool PodeVerRoteiroDeTreinamento(int matricula, DateTime?dataValidacao = null) { var lstRoteiroTreinamento = new List <int>(); DateTime AulaAssistida = new DateTime(); lstRoteiroTreinamento.Add(Constants.AulaRoteirodeTreinamentoMed); lstRoteiroTreinamento.Add(Constants.AulaRoteirodeTreinamentoMedCurso); using (var ctx = new DesenvContext()) { foreach (var item in lstRoteiroTreinamento) { AulaAssistida = (DateTime)(ctx.Set <msp_HoraAulaTema_Result>().FromSqlRaw("msp_HoraAulaTema @intLessonTitleID = {0}, @intClientID = {1}", item, matricula).ToList().FirstOrDefault().dteDateTime ?? DateTime.MaxValue); if (AulaAssistida != DateTime.MaxValue) { if (dataValidacao == null) { return(AulaAssistida < DateTime.Now); } else { return(AulaAssistida < dataValidacao); } } } } return(false); }
public List <Apostila> GetApostila(int idApostila) { using (var ctx = new DesenvContext()) { var liberadasRevisao = ctx.tblConcursoQuestao_Classificacao_Autorizacao_ApostilaLiberada.ToList(); var consulta = from apostila in ctx.Set <msp_API_ListaApostilas_Result>().FromSqlRaw("msp_API_ListaApostilas @intYear = {0}", 0).ToList() where (idApostila == apostila.intBookID) select new Apostila() { ID = apostila.intBookID, Capa = !String.IsNullOrEmpty(apostila.Capa) ? Convert.ToString(apostila.Capa).Trim() : "", Codigo = !String.IsNullOrEmpty(apostila.txtCode) ? Convert.ToString(apostila.txtCode).Trim() : "", Titulo = !String.IsNullOrEmpty(apostila.txtTitle) ? Convert.ToString(apostila.txtTitle).Trim() : "", Ano = Convert.ToInt32(apostila.intYear), IdProduto = (apostila.intProductGroup2.Equals((int)Produto.Cursos.MEDMEDCURSO)) ? (int)Produto.Cursos.MEDCURSO : (apostila.intProductGroup2.Equals((int)Produto.Cursos.MEDCPMED)) ? (int)Produto.Cursos.MED : Convert.ToInt32(apostila.intProductGroup2), IdProdutoGrupo = apostila.intProductGroup2.Value, IdGrandeArea = Convert.ToInt32(apostila.intClassificacaoID), IdSubEspecialidade = Convert.ToInt32(apostila.intProductGroup3), IdEntidade = Convert.ToInt32(apostila.intBookEntityID), ProdutosAdicionais = (apostila.intProductGroup2.Equals((int)Produto.Cursos.MEDMEDCURSO)) ? Convert.ToInt32(Produto.Cursos.MED).ToString() : (apostila.intProductGroup2.Equals((int)Produto.Cursos.MEDCPMED)) ? Convert.ToInt32(Produto.Cursos.CPMED).ToString() : (apostila.intProductGroup2.Equals((int)Produto.Cursos.RAC) || apostila.intProductGroup2.Equals((int)Produto.Cursos.RACIPE)) ? Convert.ToInt32((int)Produto.Cursos.RA).ToString() : "", NomeCompleto = string.Format("{0} -{1}", apostila.txtCode, (apostila.txtName ?? "").Trim().Replace(apostila.intYear.ToString(), "")), LiberadaRevisao = liberadasRevisao.Where(a => a.intProductID == apostila.intBookID).Select(al => al.bitRevisar ?? false).FirstOrDefault() }; return(consulta.ToList()); } }
public List <msp_API_ListaEntidades_Result> GetListaEntidades(int idProduto, int ano, int matricula) { using (var ctx = new DesenvContext()) { var entidades = ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @intProductGroup = {0}, @intYear = {1}, @matricula = {2}", idProduto, ano, matricula).ToList(); return(entidades); } }
public static string GetNomeResumido(int intContactID) { var ctx = new DesenvContext(); var consulta = ctx.Set <msp_API_NomeResumido_Result>().FromSqlRaw("msp_API_NomeResumido @intContactID = {0}", intContactID).ToList().FirstOrDefault().txtName; return(consulta); }
public static int GetExercicioIDValidoQuestoesApostilabyAnoMatriculaProduto(int id_Imed, int matricula, int ano) { using (var ctx = new DesenvContext()) { var exercicio = ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @intProductGroup = {0}, @intYear = {1}, @matricula = {2}", id_Imed, ano, matricula).ToList().FirstOrDefault(); return((int)exercicio.intID); } }
public static int GetExercicioIDValidoQuestoesApostila() { using (var ctx = new DesenvContext()) { var matriculaAcademico = 96409; var exercicio = ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @p1 = {0}, @p2 = {1}", null, null, matriculaAcademico).ToList().FirstOrDefault(); return((int)exercicio.intID); } }
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); }
public List <IGrouping <int?, msp_API_ListaEntidades_Result> > ObterCronograma(int cursoId, int ano, int matricula = 0) { if (matricula == 0) { matricula = Constants.CONTACTID_ACADEMICO; } List <IGrouping <int?, msp_API_ListaEntidades_Result> > cronogramaPorSemana; using (var ctx = new DesenvContext()) { cronogramaPorSemana = ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @intProductGroup = {0}, @intYear = {1}, @matricula = {2}", cursoId, ano, matricula).ToList() .GroupBy(x => x.intSemana) .ToList(); } return(cronogramaPorSemana); }
public List <Imagem> GetConcursoImagemComentario(int questaoID) { var lstComentarioImagens = new List <Imagem>(); var ctx = new DesenvContext(); var retornoProc = ctx.Set <msp_Medsoft_SelectImagensComentProfessor_Result>().FromSqlRaw("msp_Medsoft_SelectImagensComentProfessor @intQuestaoID = {0}", questaoID).ToList(); foreach (var valor in retornoProc) { var img = new Imagem() { Url = valor.imgUrl }; lstComentarioImagens.Add(img); } return(lstComentarioImagens); }
public int[] GetConcursosR3(int matricula) { using (var ctx = new DesenvContext()) { var idsPermitidos = ctx.Set <msp_Medsoft_SelectPermissaoExercicios_Result>().FromSqlRaw("msp_Medsoft_SelectPermissaoExercicios @bitVisitanteExpirado = {0}, @bitAlunoVisitante = {1}, @intClientID = {2}", false, false, matricula).ToList() .Where(c => c.intExercicioTipo == (int)Exercicio.tipoExercicio.CONCURSO) .Select(c => (int)c.intExercicioID) .ToList(); var concursos = (from c in ctx.tblConcurso join cp in ctx.tblConcurso_Provas on c.ID_CONCURSO equals cp.ID_CONCURSO join cpt in ctx.tblConcurso_Provas_Tipos on cp.intProvaTipoID equals cpt.intProvaTipoID where idsPermitidos.Contains(cp.intProvaID) && (cpt.txtDescription.ToUpper().Contains("R3") || cpt.txtDescription.ToUpper().Contains("R4")) select cp.intProvaID).Distinct().ToArray(); return(concursos); } }
public List <GrandeArea> GetAll(int intProductGroupId) { var clinicaMedica = (int)GrandeArea.Especiais.ClinicaMedica; var outras = (int)GrandeArea.Especiais.Outras; var lst = new List <GrandeArea>(); var ctx = new DesenvContext(); var esp = (new SubEspecialidadeEntity()).GetAll(); if (intProductGroupId == (int)Produto.Cursos.MED || intProductGroupId == (int)Produto.Cursos.MEDCURSO || intProductGroupId == (int)Produto.Cursos.RA || intProductGroupId == (int)Produto.Cursos.ADAPTAMED) { var idgrupo = (intProductGroupId == (int)Produto.Cursos.RA || intProductGroupId == (int)Produto.Cursos.ADAPTAMED) ? intProductGroupId : 0; var consulta2 = ctx.Set <msp_API_LoadGrandeArea_Result>().FromSqlRaw("msp_API_LoadGrandeArea @intProductGroup2 = {0}", idgrupo).ToList(); foreach (var it in consulta2) { var ga = new GrandeArea { ID = it.ID, Nome = it.Nome }; if (intProductGroupId.Equals((int)Produto.Cursos.MEDCURSO) && (ga.ID.Equals(clinicaMedica) || ga.ID.Equals(outras))) { ga.SubEspecialidades = esp.Where(i => i.GrandeArea == ga.ID).ToList(); } lst.Add(ga); } } if (intProductGroupId.Equals((int)Produto.Cursos.MEDCURSO)) { lst = lst.Where(i => !esp.Where(j => j.GrandeArea == outras).Any(x => x.ID == i.ID && i.ID != clinicaMedica)).ToList(); } if (intProductGroupId.Equals((int)Produto.Cursos.MED)) { lst = lst.Where(i => i.ID != outras).ToList(); } return(lst); }
public static List <PagamentosCliente> GetPagamentosCliente(int intClientID, int[] intYear, int intOrderid = 0) { using (var ctx = new DesenvContext()) { List <csp_CustomClient_PagamentosProdutosGeral_Result> final = new List <csp_CustomClient_PagamentosProdutosGeral_Result>(); foreach (int ano in intYear) { List <csp_CustomClient_PagamentosProdutosGeral_Result> parcial = ctx.Set <csp_CustomClient_PagamentosProdutosGeral_Result>().FromSqlRaw("csp_CustomClient_PagamentosProdutosGeral @ClientId = {0}, @intYear = {1}, @intOrderId = {2}", intClientID, ano, intOrderid).ToList(); final.AddRange(parcial); } var lst = new List <PagamentosCliente>(); //var count = final.ToList(); foreach (var r in final) { var pc = new PagamentosCliente { IDAluno = (int)r.intClientID, Aluno = r.txtName, intOrderID = (int)r.intOrderID, CPF = r.txtRegister, Ano = (int)r.intYear, Mes = (int)r.intMonth, Ref = r.txtComment, DblSumOfDebits = (double)(r.dblSumOfPaymt < 0 ? r.dblSumOfPaymt : 0), DblSumOfPaymt = r.dblSumOfPaymt > 0 ? r.dblSumOfPaymt : 0, DblValue = (double)r.dblValue }; lst.Add(pc); } ; return(lst); } }
public List <Semana> GetSemanas(int ano, int idProduto, int matricula, Semana.TipoAba aba) { try { const int ativo = 1; const int inativo = 0; const int produtoAdaptamed = 73; new Util.Log().SetLog(new LogMsPro { Matricula = matricula, IdApp = Aplicacoes.MsProMobile, Tela = aba == Semana.TipoAba.Aulas ? Util.Log.MsProLog_Tela.MainAula : aba == Semana.TipoAba.Questoes ? Util.Log.MsProLog_Tela.MainQuestao : 0, Acao = Util.Log.MsProLog_Acao.Abriu }); var anoVigente = Utilidades.GetYear(); using (var ctx = new DesenvContext()) { var lSemanas = new List <Semana>(); var semanaAtual = Utilidades.GetNumeroSemanaAtual(DateTime.Now); var listaEntidades = ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @intProductGroup = {0}, @intYear = {1}, @matricula = {2}", idProduto, ano, matricula) .ToList(); int prod = ProdutoEntity.GetProductByCourse(idProduto); var temas = listaEntidades.Select(y => y.intLessonTitleID); var entidades = listaEntidades.Select(y => y.intID) .ToArray(); var acessoAntecipado = AlunoTemAcessoAntecipado(matricula); var semanas = listaEntidades.GroupBy(x => new { entidade = x.intID, semana = x.intSemana, dataInicio = x.dataInicio, datafim = x.datafim }) .ToList(); var mesesCursados = ctx.csp_loadMesesCursados(matricula, prod); var mesesCursadosAnoAnterior = mesesCursados.Where(x => x.intYear < anoVigente).Select(x => (int)x.intMonth).ToArray(); var mesesCursadosAnoAtual = mesesCursados.Where(x => x.intYear == anoVigente).Select(x => (int)x.intMonth).ToArray(); if (anoVigente > DateTime.Now.Year) { semanaAtual = 1; } var isSemanasDisabled = false; if (!semanas.Any()) { isSemanasDisabled = true; const int matriculaGlobal = 96409; semanas.AddRange(ctx.Set <msp_API_ListaEntidades_Result>().FromSqlRaw("msp_API_ListaEntidades @intProductGroup = {0}, @intYear = {1}, @matricula = {2}", idProduto, ano, matriculaGlobal).AsEnumerable() .GroupBy(x => new { entidade = x.intID, semana = x.intSemana, dataInicio = x.dataInicio, datafim = x.datafim }) .ToList()); } var dicProgressos = new Dictionary <int, int>(); var dicProgressosQuestoes = new Dictionary <long, int>(); switch (aba) { case Semana.TipoAba.Aulas: dicProgressos = new MednetEntity().GetProgressoAulas(temas.ToArray(), matricula); break; case Semana.TipoAba.Materiais: break; case Semana.TipoAba.Questoes: dicProgressosQuestoes = GetProgressoQuestoes(entidades, matricula); break; case Semana.TipoAba.Revalida: break; default: break; } foreach (var itSemana in semanas) { var numeroSemana = itSemana.Key.semana ?? 0; var semana = new Semana(); if (idProduto == produtoAdaptamed) { var currentYear = ano; if (currentYear == 0) { currentYear = DateTime.Now.Year; } var dataTextoInicio = itSemana.Key.dataInicio + "/" + currentYear; var dataInicio = DateTime.ParseExact(dataTextoInicio, "dd/MM/yyyy", CultureInfo.InvariantCulture); var liberacao = dataInicio <= DateTime.Now; semana.Ativa = isSemanasDisabled ? 0 : Convert.ToInt32(liberacao); semana.Numero = numeroSemana; semana.DataInicio = itSemana.Key.dataInicio; semana.DataFim = itSemana.Key.datafim; semana.Apostilas = new List <Apostila>(); semana.SemanaAtiva = Convert.ToInt32((dataTextoInicio == "15/09/2017")); } else { semana.Ativa = VerificaLiberacaoSemana(acessoAntecipado, isSemanasDisabled, semanaAtual, itSemana.Key.semana, mesesCursadosAnoAnterior, mesesCursadosAnoAtual, itSemana.Key.dataInicio); semana.Numero = numeroSemana; semana.DataInicio = itSemana.Key.dataInicio; semana.DataFim = itSemana.Key.datafim; semana.Apostilas = new List <Apostila>(); semana.SemanaAtiva = semanaAtual == numeroSemana ? ativo : inativo; } if (itSemana.Count() > 2) { var entidadeAgrupada = itSemana.GroupBy(y => new { idEntidade = y.intID, entidade = y.entidade }).ToList(); foreach (var entidade in entidadeAgrupada) { var percentlido = 0; switch (aba) { case Semana.TipoAba.Aulas: percentlido = semana.Ativa == 1 ? (int?)dicProgressos.FirstOrDefault(x => x.Key == entidade.First().intLessonTitleID).Value ?? 0 : 0; //GetProgressoAula(entidade.First().intLessonTitleID, matricula) : 0; break; case Semana.TipoAba.Materiais: percentlido = semana.Ativa == 1 ? new MaterialApostilaEntity().GetProgressoMaterial(entidade.First().intID, matricula) : 0; break; case Semana.TipoAba.Questoes: percentlido = semana.Ativa == 1 ? (int?)dicProgressosQuestoes.FirstOrDefault(x => x.Key == entidade.First().intID).Value ?? 0 : 0; //GetPercentQuestoes((int)entidade.First().intID, matricula) : 0; break; default: break; } var apostila = new Apostila { IdEntidade = (int)entidade.Key.idEntidade, Nome = entidade.Key.entidade, PercentLido = percentlido, Temas = new List <AulaTema>() }; foreach (var tema in entidade) { apostila.Temas.Add(new AulaTema { TemaID = tema.intLessonTitleID }); } semana.Apostilas.Add(apostila); if (entidadeAgrupada.Count() == 1) { semana.Apostilas.Add(apostila); } } } else { foreach (var tema in itSemana) { var percentlido = 0; switch (aba) { case Semana.TipoAba.Aulas: //percentlido = semana.Ativa == 1 ? GetProgressoAula(tema.intLessonTitleID, matricula) : 0; percentlido = semana.Ativa == 1 ? (int?)dicProgressos.FirstOrDefault(x => x.Key == tema.intLessonTitleID).Value ?? 0 : 0; break; case Semana.TipoAba.Materiais: //percentlido = semana.Ativa == 1 ? new MaterialApostilaEntity().GetProgressoMaterial(semana.Apostilas.FirstOrDefault().IdEntidade, matricula) : 0; percentlido = new MaterialApostilaEntity().GetProgressoMaterial(tema.intID, matricula); break; case Semana.TipoAba.Questoes: percentlido = semana.Ativa == 1 ? (int?)dicProgressosQuestoes.FirstOrDefault(x => x.Key == tema.intID).Value ?? 0 : 0; // GetPercentQuestoes((int)tema.intID, matricula) : 0; break; default: break; } var apostila = new Apostila { IdEntidade = (int)tema.intID, Nome = tema.entidade, PercentLido = percentlido, Temas = new List <AulaTema>() }; apostila.Temas.Add(new AulaTema { TemaID = tema.intLessonTitleID }); semana.Apostilas.Add(apostila); if (itSemana.Count() == 1) { semana.Apostilas.Add(apostila); } } } lSemanas.Add(semana); } //Se nenhuma semana estiver marcada como semana atual, marca a ultima if (lSemanas.Any() && lSemanas.All(x => x.SemanaAtiva != 1)) { lSemanas.Last().SemanaAtiva = 1; } return(lSemanas); } } catch { throw; } }