Пример #1
0
        /// <summary>
        /// Inicia el curso para un usuario
        /// </summary>
        /// <param name="cursoID">id de curso</param>
        public void IniciarCursoUsuario(long cursoID)
        {
            // -- Obtengo usuario logueado
            var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION);
            // -- Recupera curso usuario
            var cursoUsuario = Dalc.GetByUsuarioAndCurso(usuarioLogueado.EntityID, cursoID);

            // -- Si no se inicia el curso
            if (cursoUsuario == null)
            {
                // -- Creo curso usuario y asigno propiedades
                cursoUsuario = new CursoUsuario {
                    Activo = true
                };
                cursoUsuario.Usuario = new Usuario {
                    EntityID = usuarioLogueado.EntityID
                };
                cursoUsuario.Curso = new Curso {
                    EntityID = cursoID
                };
                cursoUsuario.EstadoCurso = new EstadoCurso {
                    EntityID = (int)Entities.EstadoCurso.EstadosCursos.Iniciado
                };

                // -- Agrego curso usuario
                Dalc.Add(cursoUsuario);
            }
        }
Пример #2
0
        /// <summary>
        /// Recupera cursousuario por curso y usuario logueado
        /// </summary>
        /// <param name="cursoID"></param>
        /// <returns></returns>
        public CursoUsuario GetByCursoID(long cursoID)
        {
            // -- Obtengo usuario logueado
            var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION);
            // -- Recupera curso usuario
            var cursoUsuario = Dalc.GetByUsuarioAndCurso(usuarioLogueado.EntityID, cursoID);

            return(cursoUsuario);
        }
Пример #3
0
        public DataTable RecuperarCertificado(long cursoID)
        {
            DataTable tabla = new DataTable();

            tabla.Columns.Add("codigoRespuesta");
            tabla.Columns.Add("nombre");
            tabla.Columns.Add("empresa");
            tabla.Columns.Add("curso");
            tabla.Columns.Add("imagenEmpresa");

            // -- Obtengo usuario logueado
            var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION);

            // -- Recupero los cursosUsuarios
            var cursoUsuario = Dalc.GetByUsuarioAndCurso(usuarioLogueado.EntityID, cursoID);

            // -- Recupero curso
            CursoDalc cursoDalc = new CursoDalc();
            var       curso     = cursoDalc.GetByID(cursoID);

            //creo nueva fila
            DataRow row = tabla.NewRow();

            if (cursoUsuario.EstadoCurso.EntityID == (long)Entities.EstadoCurso.EstadosCursos.EvaluacionRealizada)
            {
                //Si aprobo el curso
                if (cursoUsuario.Nota > 60)
                {
                    row["codigoRespuesta"] = 1;
                    row["nombre"]          = usuarioLogueado.NombreCompleto;
                    row["empresa"]         = usuarioLogueado.Empresa.Nombre;
                    row["curso"]           = curso.Nombre;
                    row["imagenEmpresa"]   = usuarioLogueado.Empresa.Imagen;
                }
                else
                {
                    row["codigoRespuesta"] = 2;//No aprobo el curso
                }
            }
            else
            {
                row["codigoRespuesta"] = 3;//No realizo evaluacion
            }

            tabla.Rows.Add(row);

            return(tabla);
        }
Пример #4
0
        /// <summary>
        /// Valida si el curso fue iniciado para el usuario
        /// </summary>
        /// <param name="cursoID"></param>
        /// <returns></returns>
        public bool CursoIniciado(long cursoID)
        {
            // -- Obtengo usuario logueado
            var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION);
            // -- Recupera curso usuario
            var cursoUsuario = Dalc.GetByUsuarioAndCurso(usuarioLogueado.EntityID, cursoID);

            if (cursoUsuario == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #5
0
        /// <summary>
        /// Guarda examen realizado
        /// </summary>
        /// <param name="preguntas">preguntas</param>
        /// <param name="cursoID">id del cursp</param>
        /// <returns></returns>
        public float GuardarExamenRealizado(List <Pregunta> preguntas, long cursoID)
        {
            // -- Obtengo usuario logueado
            var usuarioLogueado = SessionManager.Get <Usuario>(Global.SessionsKeys.USER_SESSION);
            // -- Recupera curso usuario
            var cursoUsuario = Dalc.GetByUsuarioAndCurso(usuarioLogueado.EntityID, cursoID);

            // -- Recupero curso
            CursoDalc cursoDalc = new CursoDalc();
            var       curso     = cursoDalc.GetByID(cursoID);
            // -- Cantidad correctas
            int cantCorrectas = 0;

            // -- Por cada pregunta del curso
            foreach (Pregunta pregunta in curso.Preguntas)
            {
                // -- Obtengo la opcion correcta
                Opcion opcionCorrecta = pregunta.Opciones.Where(x => x.Correcta).First();
                // -- Obtengo la pregunta de las respondidas
                Pregunta preguntaActual = preguntas.Where(x => x.EntityID == pregunta.EntityID).First();
                // -- Si la opcion elegida es la correcta(es la unica opcion que se trae de las preguntas contestadas)
                if (opcionCorrecta.EntityID == preguntaActual.Opciones.First().EntityID)
                {
                    // -- Sumo una como correcta
                    cantCorrectas++;
                }
            }

            // Calculo la nota
            double nota = (float)cantCorrectas / (float)curso.Preguntas.Count * 100;

            // -- La paso a 2 decimales
            nota = Math.Round(nota, 2);
            // -- Actualizo cursousuario
            cursoUsuario.Nota        = (float)nota;
            cursoUsuario.EstadoCurso = new EstadoCurso {
                EntityID = (long)Entities.EstadoCurso.EstadosCursos.EvaluacionRealizada
            };
            Dalc.Update(cursoUsuario);

            return((float)nota);
        }