public SimuladoDTO GetSimulado(int idSimulado) { SimuladoDTO simulado = null; using (var ctx = new AcademicoContext()) { simulado = (from s in ctx.tblSimulado where s.intSimuladoID == idSimulado select new SimuladoDTO { ID = s.intSimuladoID, ExercicioName = s.txtSimuladoName, Descricao = s.txtSimuladoDescription, Ano = (int)s.intAno, DataInicio = s.dteDataHoraInicioWEB, DataFim = s.dteDataHoraTerminoWEB, TipoId = s.intTipoSimuladoID, Online = s.bitOnline, Duracao = s.intDuracaoSimulado, DtLiberacaoRanking = s.dteLimiteParaRanking }).FirstOrDefault(); return(simulado); } }
private String BuscarLocalFixo(SimuladoDTO simulado) { string localFixo = null; switch ((Constants.TipoSimulado)simulado.TipoId) { case Constants.TipoSimulado.R3_Pediatria: localFixo = string.Format("{0} R3 PEDIATRIA", simulado.Ano); break; case Constants.TipoSimulado.R3_Clinica: localFixo = string.Format("{0} R3 CLÍNICA MÉDICA", simulado.Ano); break; case Constants.TipoSimulado.R3_Cirurgia: localFixo = string.Format("{0} R3 CIRURGIA", simulado.Ano); break; case Constants.TipoSimulado.R4_GO: localFixo = string.Format("{0} R4 GO", simulado.Ano); break; } return(localFixo); }
private String BuscarUnidadeFixo(SimuladoDTO simulado) { Filial unidadeFixo = null; switch ((Constants.TipoSimulado)simulado.TipoId) { case Constants.TipoSimulado.R3_Pediatria: unidadeFixo = _filialRepository.GetFilial((int)Constants.Stores.R3_MEDERI); break; case Constants.TipoSimulado.R3_Clinica: unidadeFixo = _filialRepository.GetFilial((int)Constants.Stores.R3_MEDWRITERS); break; case Constants.TipoSimulado.R3_Cirurgia: unidadeFixo = _filialRepository.GetFilial((int)Constants.Stores.R3_MEDERI); break; case Constants.TipoSimulado.R4_GO: unidadeFixo = _filialRepository.GetFilial((int)Constants.Stores.R3_MEDERI); break; } return(unidadeFixo != null ? unidadeFixo.Nome : null); }
public void ValidaRankingAutomatico_RoboFinalizacaoSimulado_GabaritaramMenos10Porcento() { var idSimulado = 1; var rankingMock = Substitute.For <IRankingSimuladoData>(); var especialidadeMock = Substitute.For <IEspecialidadeData>(); var storesMock = Substitute.For <IFilialData>(); var simulado = new SimuladoDTO { ID = 1, QuantidadeQuestoes = 100, PesoProvaObjetiva = 100, Ano = 2019, TipoId = (int)Constants.TipoSimulado.Extensivo }; rankingMock.GetRankingSimulado(idSimulado).Returns(RankingSimuladoEntityTestData.ListRankingSimulado_10PorcentoGabaritou()); rankingMock.GetSimulado(idSimulado).Returns(simulado); var business = new RankingSimuladoBusiness(rankingMock, especialidadeMock, storesMock); var ranking = business.ValidaRankingSimulado(idSimulado); Assert.AreEqual(ranking, ""); }
private int?BuscarIntStateFixo(SimuladoDTO simulado) { var isRMais = simulado.TipoId == (int)Constants.TipoSimulado.R3_Cirurgia || simulado.TipoId == (int)Constants.TipoSimulado.R3_Clinica || simulado.TipoId == (int)Constants.TipoSimulado.R3_Pediatria || simulado.TipoId == (int)Constants.TipoSimulado.R4_GO; return(isRMais ? -1 : (int?)null); }
public int Alterar(SimuladoDTO modelo) { if (modelo == null) { return(0); } modelo.DataUltimaAtualizacao = DateTime.Now; modelo.Online = modelo.DataInicioConsultaRanking.HasValue; return(_repository.Alterar(modelo)); }
private tblSimulado ModelToEntity(SimuladoDTO model) { if (model == null) { return(null); } tblSimulado entity = new tblSimulado(); entity.intSimuladoID = model.ID; entity.intLessonTitleID = model.TemaID; entity.intBookID = model.LivroID; entity.txtOrigem = model.Origem; entity.txtSimuladoName = model.Nome; entity.txtSimuladoDescription = model.Descricao; entity.intSimuladoOrdem = model.Ordem; entity.intDuracaoSimulado = model.Duracao; entity.intConcursoID = model.ConcursoID; entity.intAno = model.Ano; entity.bitParaWEB = model.ParaWeb; entity.dteDataHoraInicioWEB = model.DataInicioWeb; entity.dteDataHoraTerminoWEB = model.DataTerminoWeb; entity.dteReleaseSimuladoWeb = model.DataLiberacaoWeb; entity.dteReleaseGabarito = model.DataLiberacaoGabarito; entity.dteReleaseComentario = model.DataLiberacaoComentario; entity.dteInicioConsultaRanking = model.DataInicioConsultaRanking; entity.dteLimiteParaRanking = model.DataLimiteParaRanking; entity.bitIsDemo = model.EhDemonstracao; entity.CD_ESPECIALIDADE = model.CodigoEspecialidade; entity.ID_INSTITUICAO = model.InstituicaoID; entity.txtPathGabarito = model.CaminhoGabarito; entity.intQtdQuestoes = model.QuantidadeQuestoes; entity.bitRankingWeb = model.RankingWeb; entity.bitGabaritoWeb = model.GabaritoWeb; entity.bitRankingFinalWeb = model.RankingFinalWeb; entity.txtCodQuestoes = model.CodigoQuestoes; entity.bitVideoComentariosWeb = model.VideoComentariosWeb; entity.intQtdQuestoesCasoClinico = model.QuantidadeQuestoesCasoClinico; entity.guidSimuladoID = model.Identificador; entity.dteDateTimeLastUpdate = model.DataUltimaAtualizacao; entity.bitCronogramaAprovado = model.CronogramaAprovado; entity.intTipoSimuladoID = model.TipoId; entity.bitSimuladoGeral = model.Geral; entity.bitOnline = model.Online; entity.intPesoProvaObjetiva = model.PesoProvaObjetiva; entity.dteDateInicio = model.DataInicio; entity.dteDateFim = model.DataFim; return(entity); }
private string BuscarEspecialidadeFixa(SimuladoDTO simulado, List <Especialidade> listaEspecialidades) { string especialidade = null; var mapaRankingIdEspecialidade = Utilidades.GetMapaRankingIdEspecialidade(); if (mapaRankingIdEspecialidade.ContainsKey(simulado.TipoId)) { especialidade = listaEspecialidades .Where(x => x.Id == mapaRankingIdEspecialidade[simulado.TipoId]) .Select(x => x.Descricao) .FirstOrDefault(); } return(especialidade); }
public static SimuladoDTO ToSimuladoDTO(this tblSimulado entity) { SimuladoDTO model = new SimuladoDTO(); model.ID = entity.intSimuladoID; model.TemaID = entity.intLessonTitleID; model.LivroID = entity.intBookID; model.Origem = entity.txtOrigem; model.Nome = entity.txtSimuladoName; model.Descricao = entity.txtSimuladoDescription; model.Ordem = entity.intSimuladoOrdem; model.Duracao = entity.intDuracaoSimulado; model.ConcursoID = entity.intConcursoID; model.Ano = entity.intAno; model.ParaWeb = entity.bitParaWEB; model.DataInicioWeb = entity.dteDataHoraInicioWEB; model.DataTerminoWeb = entity.dteDataHoraTerminoWEB; model.DataLiberacaoWeb = entity.dteReleaseSimuladoWeb; model.DataLiberacaoGabarito = entity.dteReleaseGabarito; model.DataLiberacaoComentario = entity.dteReleaseComentario; model.DataInicioConsultaRanking = entity.dteInicioConsultaRanking; model.DataLimiteParaRanking = entity.dteLimiteParaRanking; model.EhDemonstracao = entity.bitIsDemo; model.CodigoEspecialidade = entity.CD_ESPECIALIDADE; model.InstituicaoID = entity.ID_INSTITUICAO; model.CaminhoGabarito = entity.txtPathGabarito; model.QuantidadeQuestoes = entity.intQtdQuestoes; model.RankingWeb = entity.bitRankingWeb; model.GabaritoWeb = entity.bitGabaritoWeb; model.RankingFinalWeb = entity.bitRankingFinalWeb; model.CodigoQuestoes = entity.txtCodQuestoes; model.VideoComentariosWeb = entity.bitVideoComentariosWeb; model.QuantidadeQuestoesCasoClinico = entity.intQtdQuestoesCasoClinico; model.Identificador = entity.guidSimuladoID; model.DataUltimaAtualizacao = entity.dteDateTimeLastUpdate; model.CronogramaAprovado = entity.bitCronogramaAprovado; model.TipoId = entity.intTipoSimuladoID; model.Geral = entity.bitSimuladoGeral; model.Online = entity.bitOnline; model.PesoProvaObjetiva = entity.intPesoProvaObjetiva; model.DataInicio = entity.dteDateInicio; model.DataFim = entity.dteDateFim; return(model); }
public int Alterar(SimuladoDTO registro) { int retorno = 0; if (registro == null) { return(retorno); } using (var ctx = new AcademicoContext()) { var data = ctx.Set <tblSimulado>() .Include("tblEspecialidadesSimulado") .FirstOrDefault(c => c.intSimuladoID == registro.ID); if (data == null) { return(0); } var entity = ModelToEntity(registro); ctx.Entry(data).CurrentValues.SetValues(entity); #region Salvar Especialidades if (registro.Especialidades != null && registro.Especialidades.Count > 0) { foreach (var item in registro.Especialidades) { var especialidade = new tblEspecialidadesSimulado(); especialidade.intSimuladoID = entity.intSimuladoID; especialidade.intEspecialidadeID = item.EspecialidadeID; especialidade.intOrdem = item.Ordem.Value; ctx.Set <tblEspecialidadesSimulado>().Add(especialidade); } } #endregion ctx.SaveChanges(); retorno = 1; } return(retorno); }
public SimuladoDTO GetSimuladoPorId(int id) { SimuladoDTO registro = null; using (var ctx = new AcademicoContext()) { var entity = ( from a in ctx.tblSimulado where a.intSimuladoID == id select a ) .FirstOrDefault(); if (entity != null) { registro = EntityToModel(entity); } } return(registro); }
public void ValidaRankingAutomatico_RoboFinalizacaoSimulado_RankingNaoGerado() { var idSimulado = 1; var rankingMock = Substitute.For <IRankingSimuladoData>(); var especialidadeMock = Substitute.For <IEspecialidadeData>(); var storesMock = Substitute.For <IFilialData>(); var simulado = new SimuladoDTO { ID = 1, QuantidadeQuestoes = 10, PesoProvaObjetiva = 100, Ano = 2019, TipoId = (int)Constants.TipoSimulado.Extensivo }; rankingMock.GetRankingSimulado(idSimulado).Returns(new List <SimuladoRankingFase01DTO>()); rankingMock.GetSimulado(idSimulado).Returns(simulado); var business = new RankingSimuladoBusiness(rankingMock, especialidadeMock, storesMock); var ranking = business.ValidaRankingSimulado(idSimulado); Assert.IsTrue(ranking.Contains("Sem registro de Ranking para o simulado ID")); }
private SimuladoDTO EntityToModel(tblSimulado entity) { if (entity == null) { return(null); } SimuladoDTO model = new SimuladoDTO(); model.ID = entity.intSimuladoID; model.TemaID = entity.intLessonTitleID; model.LivroID = entity.intBookID; model.Origem = entity.txtOrigem; model.Nome = entity.txtSimuladoName; model.Descricao = entity.txtSimuladoDescription; model.Ordem = entity.intSimuladoOrdem; model.Duracao = entity.intDuracaoSimulado; model.ConcursoID = entity.intConcursoID; model.Ano = entity.intAno; model.ParaWeb = entity.bitParaWEB; model.DataInicioWeb = entity.dteDataHoraInicioWEB; model.DataTerminoWeb = entity.dteDataHoraTerminoWEB; model.DataLiberacaoWeb = entity.dteReleaseSimuladoWeb; model.DataLiberacaoGabarito = entity.dteReleaseGabarito; model.DataLiberacaoComentario = entity.dteReleaseComentario; model.DataInicioConsultaRanking = entity.dteInicioConsultaRanking; model.DataLimiteParaRanking = entity.dteLimiteParaRanking; model.EhDemonstracao = entity.bitIsDemo; model.CodigoEspecialidade = entity.CD_ESPECIALIDADE; model.InstituicaoID = entity.ID_INSTITUICAO; model.CaminhoGabarito = entity.txtPathGabarito; model.QuantidadeQuestoes = entity.intQtdQuestoes; model.RankingWeb = entity.bitRankingWeb; model.GabaritoWeb = entity.bitGabaritoWeb; model.RankingFinalWeb = entity.bitRankingFinalWeb; model.CodigoQuestoes = entity.txtCodQuestoes; model.VideoComentariosWeb = entity.bitVideoComentariosWeb; model.QuantidadeQuestoesCasoClinico = entity.intQtdQuestoesCasoClinico; model.Identificador = entity.guidSimuladoID; model.DataUltimaAtualizacao = entity.dteDateTimeLastUpdate; model.CronogramaAprovado = entity.bitCronogramaAprovado; model.TipoId = entity.intTipoSimuladoID; model.Geral = entity.bitSimuladoGeral; model.Online = entity.bitOnline; model.PesoProvaObjetiva = entity.intPesoProvaObjetiva; model.DataInicio = entity.dteDateInicio; model.DataFim = entity.dteDateFim; #region Especialidades model.Especialidades = new List <SimuladoEspecialidadeDTO>(); using (var ctx = new AcademicoContext()) { var especialidades = ( from a in ctx.tblEspecialidadesSimulado where a.intSimuladoID == model.ID orderby a.intOrdem select a ) .ToList(); if (especialidades != null && especialidades.Count > 0) { foreach (var item in especialidades) { model.Especialidades.Add(new SimuladoEspecialidadeDTO() { SimuladoID = model.ID, EspecialidadeID = item.intEspecialidadeID, Ordem = item.intOrdem }); } } } #endregion return(model); }
public void GeraRankingSimuladoNacional_R4GO_ValidarValoresRanking() { var idSimulado = 1; var rankingMock = Substitute.For <IRankingSimuladoData>(); var especialidadeMock = Substitute.For <IEspecialidadeData>(); var storesMock = Substitute.For <IFilialData>(); var simulado = new SimuladoDTO { ID = 1, QuantidadeQuestoes = 10, PesoProvaObjetiva = 100, Ano = 2019, TipoId = (int)Constants.TipoSimulado.R4_GO }; rankingMock.GetSimulado(idSimulado).Returns(simulado); rankingMock.GetOrdemVendaTodosClientes(2019).Returns(RankingSimuladoEntityTestData.ListOrdemVendaTodosClientes(Constants.TipoSimulado.R4_GO)); rankingMock.GetLogSimuladoAlunoTurma(idSimulado).Returns(RankingSimuladoEntityTestData.ListLogSimuladoAlunoTurma(Constants.TipoSimulado.R4_GO)); especialidadeMock.GetAll().Returns(RankingSimuladoEntityTestData.ListEspecialidade()); storesMock.GetFilial((int)Constants.Stores.R3_MEDERI).Returns(new Filial() { ID = (int)Constants.Stores.R3_MEDERI, Nome = "R3 MEDERI" }); var resultado = RankingSimuladoEntityTestData.ListResultado(); rankingMock.ListResultado(idSimulado).Returns(resultado); var business = new RankingSimuladoBusiness(rankingMock, especialidadeMock, storesMock); var ranking = business.GeraRankingSimuladoNacional(idSimulado); rankingMock.Received().RemoverSimuladoRankingFase01(idSimulado); rankingMock.Received().InserirSimuladoRankingFase01(Arg.Any <List <SimuladoRankingFase01DTO> >()); Assert.AreEqual(resultado.Count(), ranking.Count); Assert.IsFalse(ranking.Any(x => x.dblNotaFinal < 0)); Assert.IsFalse(ranking.Any(x => x.dblNotaFinal > simulado.PesoProvaObjetiva)); int contador = 1; int posicao = 1; double?notaAnterior = -1; foreach (var item in ranking) { var res = resultado.Where(x => x.intClientID == item.intClientID).FirstOrDefault(); double nota = Math.Round(Convert.ToDouble(res.intAcertos) / simulado.QuantidadeQuestoes.Value * simulado.PesoProvaObjetiva.Value, 2); if (item.dblNotaFinal != notaAnterior) { posicao = contador; } Assert.AreEqual(nota, item.dblNotaFinal); Assert.AreEqual(posicao.ToString() + "º", item.txtPosicao); Assert.AreEqual("R3 MEDERI", item.txtUnidade); Assert.AreEqual("2019 R4 GO", item.txtLocal); Assert.AreEqual("GINECOLOGIA E OBSTETRÍCIA (ANO OPCIONAL)", item.txtEspecialidade); Assert.AreEqual(-1, item.intStateID); notaAnterior = item.dblNotaFinal; contador++; } }