예제 #1
0
        public Usuario obtieneUsuario(string rut)
        {
            try
            {
                Usuario usuario = new Usuario();
                using (yggdrasilEntities context = new yggdrasilEntities())
                {
                    usuario = (from u in context.usuario
                               join tu in context.tipo_usuario on u.tipo_usuario equals tu.id
                               where u.rut == rut
                               select new Usuario
                    {
                        Id = u.id,
                        Rut = u.rut,
                        Password = u.password,
                        PrimerNombre = u.primer_nombre,
                        SegundoNombre = u.segundo_nombre ?? string.Empty,
                        PrimerApellido = u.primer_apellido,
                        SegundoApellido = u.segundo_apellido ?? string.Empty,
                        Correo = u.correo ?? string.Empty,
                        Telefono = u.telefono ?? string.Empty,
                        TipoUsuario = new TipoUsuario {
                            Id = tu.id, Descripcion = tu.descripcion
                        }
                    }).FirstOrDefault();

                    return(usuario);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #2
0
        /// <summary>
        /// Obtiene el listado de preguntas para realizar el test, consta de 35 preguntas obtenidas de manera random.
        /// </summary>
        /// <returns>Listado de preguntas con sus alternativas y material correspondiente</returns>
        public List <Pregunta> obtienePreguntas()
        {
            try
            {
                List <Pregunta> preguntas = new List <Pregunta>();

                using (yggdrasilEntities context = new yggdrasilEntities())
                {
                    preguntas = (from p in context.pregunta
                                 join tp in context.tipo_pregunta on p.id_tipo_pregunta equals tp.id
                                 join i in context.imagen on p.id equals i.id_pregunta into iL
                                 from img in iL.DefaultIfEmpty() // left outer join
                                 select new Pregunta
                    {
                        //pregunta
                        Id = p.id,
                        DescripcionPregunta = p.descripcion_pregunta,
                        EsAleatoria = p.alternativas_aleatorias,
                        Comentario = p.comentario,


                        //tipo pregunta
                        TipoPregunta = new TipoPregunta {
                            Id = tp.id, Descripcion = tp.descripcion_tipo_pregunta
                        },

                        //imagen
                        Imagen = img == null ? null : new Imagen {
                            Id = img.id, NombreImagen = img.nombre_imagen, Formato = img.formato
                        },

                        //alternativas
                        Alternativas = (from a in context.alternativa
                                        where a.id_pregunta == p.id
                                        select new Alternativa
                        {
                            Id = a.id,
                            DescripcionAlternativa = a.descripcion_alternativa,
                            EsCorrecta = a.es_correcta
                        }).ToList()
                    }).OrderBy(x => Guid.NewGuid()).Take(35).ToList();
                }

                return(preguntas);
            }
            catch (Exception)
            {
                throw;
            }
        }