/// <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); } }
/// <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); }
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); }
/// <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); } }
/// <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); }