private void califActividadesPracticas(List <DatosDeVerificacionRespuestaEntidad> ListRespuesta, List <string> listVerificacion, bool ultimaPregunta) { LogicCalificacion objCalificacionEntidad = new LogicCalificacion(); LogicPregunta objPreguntaEnt = new LogicPregunta(); int totalCorrectas = 0; foreach (var item in listVerificacion) { if (item.Contains("C")) { totalCorrectas++; } } PreguntaEntidad objPregunta = objPreguntaEnt.consultarPreguntaIdPregunta(ListRespuesta[0].idPregunta); decimal calificacionObtenida = objCalificacionEntidad.calculoCalificacion(ListRespuesta.Count(), totalCorrectas, objPregunta.ponderacion); List <EfectividadEntidad> _listaEfectividadEntidad = new List <EfectividadEntidad>(); List <EfectividadEntidad> _listaEfectividadObtenidaEntidad = new List <EfectividadEntidad>(); int indice = 0; if (Session["efectividad"] != null) { _listaEfectividadEntidad = (List <EfectividadEntidad>)Session["efectividad"]; _listaEfectividadObtenidaEntidad = (List <EfectividadEntidad>)Session["efectividadObtenida"]; } if (_listaEfectividadEntidad.Exists(C => C.tipoEfectividad == objPregunta.destreza)) { indice = _listaEfectividadEntidad.FindIndex(C => C.tipoEfectividad == objPregunta.destreza); _listaEfectividadEntidad[indice].porcentaje = _listaEfectividadEntidad[indice].porcentaje + objPregunta.ponderacion; _listaEfectividadObtenidaEntidad[indice].porcentaje = _listaEfectividadObtenidaEntidad[indice].porcentaje + calificacionObtenida; } else { _listaEfectividadEntidad.Add(new EfectividadEntidad { porcentaje = objPregunta.ponderacion, tipoEfectividad = objPregunta.destreza }); _listaEfectividadObtenidaEntidad.Add(new EfectividadEntidad { porcentaje = calificacionObtenida, tipoEfectividad = objPregunta.destreza }); } if (ultimaPregunta) { int contador = 0; foreach (var item in _listaEfectividadObtenidaEntidad) { item.porcentaje = Math.Round((item.porcentaje * 100) / _listaEfectividadEntidad[contador].porcentaje, 2); contador++; } } Session["efectividad"] = _listaEfectividadEntidad; Session["efectividadObtenida"] = _listaEfectividadObtenidaEntidad; if (Session["calif"] != null) { Session["calif"] = Math.Round((decimal)Session["calif"] + calificacionObtenida, 2); } else { Session["calif"] = calificacionObtenida; } }
/// <summary> /// <para>Edita una pregunta segun su ID</para> /// </summary> /// <param name="_pregunta">Actividad a editar</param> /// <returns></returns> public JsonResult editarPregunta(VariosModel _pregunta) { if (Session["personaLogin"] == null) { } int idApoyo = 0; LogicApoyo objApoyoEntidad = new LogicApoyo(); LogicActividad objActividadEntidad = new LogicActividad(); LogicPregunta objPreguntaEn = new LogicPregunta(); if (_pregunta.modelApoyo != null) { idApoyo = objApoyoEntidad.gestorApoyo(_pregunta.modelApoyo); } _pregunta.modelPregunta.idApoyo = idApoyo; int[,] arrayPO = objPreguntaEn.preguntaCud(_pregunta); LogicActividad _objActividadEntidad = new LogicActividad(); ActividadEntidad _objActividad = _objActividadEntidad.consultarActividad(_pregunta.modelPregunta.idActividad); int duracionActual = _objActividad.duracion;//duracion actual en la tabla actividad... campo que se actualiza PreguntaEntidad _objPE = objPreguntaEn.consultarPreguntaIdPregunta(_pregunta.modelPregunta.idPregunta); int duracionOldP = _objPE.duracion; int duracionNewP = 0; int duracionGuardar = 0; if (duracionOldP >= _pregunta.modelPregunta.duracion) { duracionNewP = duracionOldP - _pregunta.modelPregunta.duracion; duracionGuardar = duracionActual - duracionNewP; objActividadEntidad.actividadActualizar(int.Parse("3"), _pregunta.modelPregunta.idActividad, duracionGuardar); } else { duracionNewP = _pregunta.modelPregunta.duracion - duracionOldP; duracionGuardar = duracionActual + duracionNewP; objActividadEntidad.actividadActualizar(int.Parse("3"), _pregunta.modelPregunta.idActividad, duracionGuardar); } objPreguntaEn.preguntaEliminar(_pregunta.modelPregunta.idPregunta); List <int> _listOPs = new List <int>(); int idP = arrayPO[0, 0]; if (_pregunta.modelPregunta.idTipo == 4) { for (int i = 0; i < arrayPO.Length; i++) { _listOPs.Add(arrayPO[1, i]); } } var result = new { ipPre = idP, idApo = idApoyo, arrayOpc = _listOPs }; return(Json(result, JsonRequestBehavior.AllowGet)); }
private static void califActividadesPracticas(List <DatosDeVerificacionRespuestaEntidad> ListRespuesta, List <string> listVerificacion) { LogicCalificacion objCalificacionEntidad = new LogicCalificacion(); LogicPregunta objPreguntaEnt = new LogicPregunta(); int totalCorrectas = 0; foreach (var item in listVerificacion) { if (item.Contains("C")) { totalCorrectas++; } } PreguntaEntidad objPregunta = objPreguntaEnt.consultarPreguntaIdPregunta(ListRespuesta[0].idPregunta); decimal calificacionObtenida = objCalificacionEntidad.calculoCalificacion(ListRespuesta.Count(), totalCorrectas, objPregunta.ponderacion); if (objPregunta.destreza == "R") { globalVar.califTR = globalVar.califTR + objPregunta.ponderacion; globalVar.efectR = globalVar.efectR + calificacionObtenida; } if (objPregunta.destreza == "L") { globalVar.califTL = globalVar.califTL + objPregunta.ponderacion; globalVar.efectL = globalVar.efectL + calificacionObtenida; } if (objPregunta.destreza == "G") { globalVar.califTG = globalVar.califTG + objPregunta.ponderacion; globalVar.efectG = globalVar.efectG + calificacionObtenida; } if (globalVar.ultP) { if (globalVar.efectR != 0) { globalVar.efectR = (globalVar.efectR * 100) / globalVar.califTR; } if (globalVar.efectL != 0) { globalVar.efectL = (globalVar.efectL * 100) / globalVar.califTL; } if (globalVar.efectG != 0) { globalVar.efectG = (globalVar.efectG * 100) / globalVar.califTG; } } globalVar.calificacion = globalVar.calificacion + calificacionObtenida; }
/// <summary>Metodo de DocenteControler /// <para>Editarlas imagenes de una pregunta de tipo imgen</para> /// </summary> /// <param name="_pregunta"></param> /// <returns></returns> public JsonResult editarPreguntaImg(VariosModel _pregunta) { if (Session["personaLogin"] == null) { } int idApoyo = 0; LogicApoyo objApoyoEntidad = new LogicApoyo(); LogicActividad objActividadEntidad = new LogicActividad(); LogicPregunta objPreguntaEn = new LogicPregunta(); if (_pregunta.modelApoyo != null) { idApoyo = objApoyoEntidad.gestorApoyo(_pregunta.modelApoyo); } _pregunta.modelPregunta.idApoyo = idApoyo; List <int> _listOP = objPreguntaEn.editarPreguntaCudIMG(_pregunta); int idPr = _pregunta.modelPregunta.idPregunta; LogicActividad _objActividadEntidad = new LogicActividad(); ActividadEntidad _objActividad = _objActividadEntidad.consultarActividad(_pregunta.modelPregunta.idActividad); int duracionActual = _objActividad.duracion; //duracion actual en la tabla actividad... campo que se actualiza PreguntaEntidad _objPE = objPreguntaEn.consultarPreguntaIdPregunta(_pregunta.modelPregunta.idPregunta); int duracionOldP = _objPE.duracion; int duracionNewP = 0; int duracionGuardar = 0; if (duracionOldP >= _pregunta.modelPregunta.duracion) { duracionNewP = duracionOldP - _pregunta.modelPregunta.duracion; duracionGuardar = duracionActual - duracionNewP; objActividadEntidad.actividadActualizar(int.Parse("3"), _pregunta.modelPregunta.idActividad, duracionGuardar); } else { duracionNewP = _pregunta.modelPregunta.duracion - duracionOldP; duracionGuardar = duracionActual + duracionNewP; objActividadEntidad.actividadActualizar(int.Parse("3"), _pregunta.modelPregunta.idActividad, duracionGuardar); } var result = new { ipPre = idPr, idApo = idApoyo, arrayOpc = _listOP }; return(Json(result, JsonRequestBehavior.AllowGet)); }