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;
            }
        }
예제 #2
0
        /// <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;
        }
예제 #4
0
        /// <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));
        }