public PreguntaEntidad consultarPregunta(int _idActividad, int _numPregunta) { PreguntaEntidad objPregunta = new PreguntaEntidad(); LogicTipoPregunta objTipoPreg = new LogicTipoPregunta(); LogicApoyo objApoyo = new LogicApoyo(); TipoPreguntaEntidad objTip = new TipoPreguntaEntidad(); foreach (DataRow item in objConsultasDB.consultarPregunta(_idActividad, _numPregunta).Rows) { objTip = objTipoPreg.consultarTipoPreguntaId(Convert.ToInt32(item.ItemArray[6])); objPregunta.idPregunta = Convert.ToInt32(item.ItemArray[1]); objPregunta.indicaciones = item.ItemArray[2].ToString(); objPregunta.ponderacion = Convert.ToDecimal(item.ItemArray[3]); objPregunta.idActividad = Convert.ToInt32(item.ItemArray[4]); objPregunta.destreza = item.ItemArray[5].ToString(); objPregunta.objTipo = objTip; objPregunta.objApoyo = objApoyo.consultarApoyoId(Convert.ToInt32(item.ItemArray[7].ToString())); objPregunta.listaOpciones = consultarOpciones(Convert.ToInt32(item.ItemArray[1]), objTip.tipo); objPregunta.listaRespuesta = consultarRespuestas(Convert.ToInt32(item.ItemArray[1])); objPregunta.listaRespuestaDesordenada = DesordenarListaRespuesta(consultarRespuestas(Convert.ToInt32(item.ItemArray[1]))); objPregunta.duracion = Convert.ToInt32(item.ItemArray[8].ToString()); objPregunta.mostarOpciones = bool.Parse(item.ItemArray[9].ToString()); } return(objPregunta); }
/// <summary> /// <para>editar una la imagen de una opcion</para> /// </summary> /// <param name="variosModels"></param> public List <int> editarPreguntaCudIMG(VariosModel variosModels) { PreguntaEntidad objPregunta = variosModels.modelPregunta; List <int> _listOP = new List <int>(); DataTable id = objIngreso.preguntaCud(int.Parse("2"), objPregunta.idPregunta, objPregunta.indicaciones, objPregunta.ponderacion, objPregunta.idActividad, objPregunta.destreza, objPregunta.idTipo, objPregunta.idApoyo, objPregunta.duracion, objPregunta.mostarOpciones); if (variosModels.modelListaRespuesta == null || variosModels.modelListaRespuesta.Count == 0) { return(_listOP); } for (int i = 0; i < variosModels.modelListaRespuesta.Count; i++) { string imgName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm") + "-imgActividad" + System.IO.Path.GetFileName(variosModels.files[i].FileName); string path = System.IO.Path.Combine(HttpContext.Current.Server.MapPath("..//Img//imgActividad"), (DateTime.Now.ToString("yyyy-MM-dd-HH-mm") + "-imgActividad" + System.IO.Path.GetFileName(variosModels.files[i].FileName))); variosModels.files[i].SaveAs(path); if (variosModels.idOpcionImg[i] == 0) { int idOpciones = opcionesCud(int.Parse("3"), int.Parse("0"), imgName, objPregunta.idPregunta); respuestaCud(int.Parse("3"), int.Parse("0"), idOpciones, variosModels.modelListaRespuesta[i]); _listOP.Add(idOpciones); continue; } objIngreso.opcionesImgEditar(1, variosModels.idOpcionImg[i], imgName, variosModels.modelListaRespuesta[i]); _listOP.Add(variosModels.idOpcionImg[i]); } return(_listOP); }
public int[,] preguntaCud(VariosModel variosModels) { PreguntaEntidad objPregunta = variosModels.modelPregunta; DataTable id = objIngreso.preguntaCud(int.Parse("3"), int.Parse("0"), objPregunta.indicaciones, objPregunta.ponderacion, objPregunta.idActividad, objPregunta.destreza, objPregunta.idTipo, objPregunta.idApoyo, objPregunta.duracion, objPregunta.mostarOpciones); DataRow fila = id.Rows[0]; int idPregunta = Convert.ToInt32(fila.ItemArray[0]); List <int> _listIdOp = new List <int>(); if ((objPregunta.idTipo >= 1 && objPregunta.idTipo <= 3) || objPregunta.idTipo == 7) { ing1to3And7(variosModels.modelListaOpciones, variosModels.modelListaRespuesta, idPregunta); } else if (objPregunta.idTipo == 4) { _listIdOp = ing4(variosModels.files, variosModels.modelListaRespuesta, idPregunta); } else if (objPregunta.idTipo == 5) { ing5(variosModels.modelListaOpciones, variosModels.modelListaRespuesta, idPregunta); } else if (objPregunta.idTipo == 6) { ing6(variosModels.modelListaOpciones, variosModels.modelListaRespuesta, idPregunta); } int[,] arrayPO = new int[1, 1]; if (_listIdOp.Count > 0) { arrayPO = new int[2, _listIdOp.Count]; } arrayPO[0, 0] = idPregunta; for (int i = 0; i < 2; i++) { for (int j = 0; j < _listIdOp.Count; j++) { if (i == 0) { arrayPO[i, j] = idPregunta; continue; } arrayPO[i, j] = _listIdOp[j]; } } return(arrayPO); }
public PreguntaEntidad consultarPreguntaIdPregunta(int idPregunta) { PreguntaEntidad objPregunta = new PreguntaEntidad(); LogicTipoPregunta objTipP = new LogicTipoPregunta(); LogicApoyo objApoyoEnt = new LogicApoyo(); foreach (DataRow item in objConsultasDB.consultarPreguntaIdPregunta(idPregunta).Rows) { objPregunta.idPregunta = Convert.ToInt32(item.ItemArray[0]); objPregunta.indicaciones = item.ItemArray[1].ToString(); objPregunta.ponderacion = Convert.ToDecimal(item.ItemArray[2]); objPregunta.idActividad = Convert.ToInt32(item.ItemArray[3]); objPregunta.destreza = item.ItemArray[4].ToString(); objPregunta.objTipo = objTipP.consultarTipoPreguntaId(Convert.ToInt32(item.ItemArray[5])); objPregunta.duracion = Convert.ToInt32(item.ItemArray[7]); objPregunta.mostarOpciones = bool.Parse(item.ItemArray[8].ToString()); } return(objPregunta); }
public List <string> IngresarQuiz(List <DatosDeVerificacionRespuestaEntidad> ListaRespuesta, bool completado, int idEstudiante, int idActModulo, int indicePregunta, int?nVecesResuelta, int duracion) { LogicActividad objActEntidad = new LogicActividad(); LogicRespuesta objRespuesta = new LogicRespuesta(); ActividadModuloEntidad objActi = objActEntidad.consultarActividadModuloXidActMod(idActModulo); LogicPregunta objPreguntaEnt = new LogicPregunta(); List <string> listaVerificacion = new List <string>(); var tipoPregunta = ""; int idPregunta = 0; int idQ = 0; int contador = 0; string respuesta = ""; string temporal = ""; QuizEntidad objQuiz = consultarQuizPorActividadYestudiante(idActModulo, idEstudiante); DetalleQuizEntidad objDetalleQuiz = new DetalleQuizEntidad(); if (objQuiz.idQuiz != 0) { if (consultarDetalleQuizPorOpcionYquiz(ListaRespuesta[0].idOpcionPregunta, objQuiz.idQuiz).idOpciones != 0 && objActi.tipo == "E") { return(listaVerificacion); } else { //Actualiza la cabecera del quiz objIngresosDB.ingresarQuiz(objQuiz.idQuiz, idActModulo, idEstudiante, DateTime.Now, completado, indicePregunta, duracion, nVecesResuelta, 2); idQ = objQuiz.idQuiz; } } else { //Ingresa la cabecera del quiz DataTable identificadorQuiz = objIngresosDB.ingresarQuiz(0, idActModulo, idEstudiante, DateTime.Now, completado, indicePregunta, duracion, nVecesResuelta, 3); idQ = Convert.ToInt32(identificadorQuiz.Rows[0].ItemArray[0]); } //Ingresa el detalle del quiz foreach (var item in ListaRespuesta) { tipoPregunta = item.tipoPregunta; idPregunta = item.idPregunta; if (item.tipoPregunta == "Emparejamiento" && contador == 0) { List <RespuestaEntidad> objResplista = objPreguntaEnt.consultarRespuestas(item.idPregunta); foreach (var item1 in objResplista) { ListaRespuesta[contador].respuestaIngresada = item1.detalleRespuesta; contador++; } contador = 0; } else { //Elimina los espacios en blanco de la respuesta temporal = item.respuestaIngresada.Trim(); respuesta = Regex.Replace(temporal, @"\s+", " "); ListaRespuesta[contador].respuestaIngresada = respuesta; } objDetalleQuiz = consultarDetalleQuizPorOpcionYquiz(item.idOpcionPregunta, idQ); if (objActi.tipo == "P") { //Actualiza el detalle del quiz if (objDetalleQuiz.idDetalleQuiz != 0 && tipoPregunta != "Pertenencia") { objIngresosDB.ingresarDetalleQuiz(objDetalleQuiz.idDetalleQuiz, item.idOpcionPregunta, item.respuestaIngresada, idQ, 2); } //Ingresa el detalle del quiz else if (objDetalleQuiz.idDetalleQuiz != 0 && tipoPregunta == "Pertenencia" && contador == 0) { //Elimina todos los detalles que esten guardados con el idOpcionPregunta de la pregunta objIngresosDB.ingresarDetalleQuiz(0, item.idOpcionPregunta, " ", 0, 1); //Ingresa la nueva respuesta objIngresosDB.ingresarDetalleQuiz(0, item.idOpcionPregunta, item.respuestaIngresada, idQ, 3); } else { objIngresosDB.ingresarDetalleQuiz(0, item.idOpcionPregunta, item.respuestaIngresada, idQ, 3); } } else { objIngresosDB.ingresarDetalleQuiz(0, item.idOpcionPregunta, item.respuestaIngresada, idQ, 3); } contador++; } listaVerificacion = objRespuesta.verificarRespuesta(ListaRespuesta, tipoPregunta); if (objActi.tipo == "E") { LogicCalificacion objCalificacionEntidad = new LogicCalificacion(); int totalCorrectas = 0; foreach (var item in listaVerificacion) { if (item.Contains("C")) { totalCorrectas++; } } PreguntaEntidad objPregunta = objPreguntaEnt.consultarPreguntaIdPregunta(idPregunta); decimal calificacionPregunta = objCalificacionEntidad.calculoCalificacion(ListaRespuesta.Count(), totalCorrectas, objPregunta.ponderacion); objCalificacionEntidad.ingresoEfectividad(idQ, calificacionPregunta, objPregunta.destreza); } return(listaVerificacion); }