Example #1
0
        public ActionResult Delete(RQViewModel Rq)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using var Db = new BD_EvaluacionEntities();
                    Preguntas_Aleatorias oRQ = Db.Preguntas_Aleatorias.Where(i => i.Codigo_Seccion == Rq.Codigo_Seccion && i.Numero_Pregunta == Rq.Numero_Pregunta).SingleOrDefault();

                    Db.Entry(oRQ).State = System.Data.Entity.EntityState.Deleted;
                    Db.SaveChanges();
                    mensaje = "Ok";
                }
                else
                {
                    string errors = string.Empty;
                    foreach (var item in ModelState.Values)
                    {
                        if (item.Errors.Count > 0)
                        {
                            mensaje += string.Format("{0} \n", item.Errors[0].ErrorMessage);
                        }
                    }
                    mensaje += " Contacte al Administrador";
                }
            }
            catch (Exception e)
            {
                mensaje = "Ocurrió el siguiente error " + e.Message + " Contactar al administrador";
            }
            return(View(new { codSection = Rq.Codigo_Seccion, quesNo = Rq.Numero_Pregunta, mensaje }));
        }
Example #2
0
        async Task <RQViewModel> GetRQModelAsync(Recruit recruit, Subject subject)
        {
            var model = new RQViewModel();

            var parts = recruit.SubItems;

            if (parts.HasItems())
            {
                foreach (var part in parts)
                {
                    var questions = await _questionsService.FetchByRecruitAsync(part, subject);

                    var partView = new RQPartViewModel
                    {
                        Points       = part.Points,
                        Order        = part.Order,
                        MultiAnswers = part.MultiAnswers,
                        OptionCount  = part.OptionCount,
                        OptionType   = part.OptionType.ToString(),
                        Title        = part.Title
                    };
                    partView.Questions = questions.MapViewModelList(_mapper);
                    model.Parts.Add(partView);
                }
            }
            else
            {
                var questions = await _questionsService.FetchByRecruitAsync(recruit, subject);

                var partView = new RQPartViewModel
                {
                    Points       = recruit.Points,
                    MultiAnswers = recruit.MultiAnswers,
                    OptionCount  = recruit.OptionCount,
                    OptionType   = recruit.OptionType.ToString(),
                    Title        = recruit.Title
                };
                partView.Questions = questions.MapViewModelList(_mapper);
                model.Parts.Add(partView);
            }

            model.Recruit = recruit.MapViewModel(_mapper);
            model.LoadTitle();

            return(model);
        }
Example #3
0
        public ActionResult Create(RQViewModel Rq)
        {
            try
            {
                //Validación del Modelo
                if (ModelState.IsValid)
                {
                    #region Graba Datos
                    using var bd = new BD_EvaluacionEntities();
                    Preguntas_Aleatorias oRQ = new Preguntas_Aleatorias
                    {
                        Codigo_Seccion  = Rq.Codigo_Seccion.ToUpper(),
                        Numero_Pregunta = Rq.Numero_Pregunta,
                        Texto_Pregunta  = Rq.Texto_Pregunta,
                        Ponderacion_P   = Rq.Ponderacion_P
                    };
                    bd.Preguntas_Aleatorias.Add(oRQ);
                    bd.SaveChanges();

                    mensaje = "Ok";
                    #endregion
                }
                else
                {
                    #region Errores de Modelo
                    string errors = string.Empty;
                    foreach (var item in ModelState.Values)
                    {
                        if (item.Errors.Count > 0)
                        {
                            mensaje += string.Format("{0} \n", item.Errors[0].ErrorMessage);
                        }
                    }
                    mensaje += " Contacte al Administrador";
                    #endregion
                }
            }
            catch (Exception e)
            {
                mensaje = "Ocurrió el siguiente error "
                          + e.Message
                          + " Contactar al administrador";
            }
            return(RedirectToAction("Create", "RandomQuestion", new { mensaje }));
        }
Example #4
0
        public ActionResult Details(string codSection, int quesNo)
        {
            var oRQ = new RQViewModel();

            using (BD_EvaluacionEntities Db = new BD_EvaluacionEntities())
            {
                oRQ = (from Rq in Db.Preguntas_Aleatorias
                       where Rq.Codigo_Seccion == codSection && Rq.Numero_Pregunta == quesNo
                       select new RQViewModel
                {
                    Codigo_Seccion = Rq.Codigo_Seccion,
                    Numero_Pregunta = Rq.Numero_Pregunta,
                    Texto_Pregunta = Rq.Texto_Pregunta,
                    Ponderacion_P = Rq.Ponderacion_P
                }).FirstOrDefault();
            }
            return(View(oRQ));
        }
Example #5
0
        public ActionResult Create(string codSection, int?questionNo, string mensaje)
        {
            ViewBag.Sections = new SelectList(Tools.LeerSecciones(), "Codigo_Seccion", "Nombre_Seccion", "");
            ViewBag.Status   = true;
            if (mensaje != null && mensaje != "")
            {
                if (mensaje == "Ok")
                {
                    ViewBag.Message = "Pregunta Aleatoria Creada exitosamente";
                    ViewBag.Status  = true;
                }
                else if (mensaje != "Ok")
                {
                    ViewBag.Message = mensaje;
                    ViewBag.Status  = false;
                }
            }

            try
            {
                var oRQ = new RQViewModel();
                using BD_EvaluacionEntities Db = new BD_EvaluacionEntities();
                oRQ = (from pal in Db.Preguntas_Aleatorias
                       where pal.Codigo_Seccion == codSection && pal.Numero_Pregunta == questionNo
                       orderby pal.Codigo_Seccion, pal.Texto_Pregunta
                       select new RQViewModel
                {
                    Codigo_Seccion = pal.Codigo_Seccion,
                    Numero_Pregunta = pal.Numero_Pregunta,
                    Texto_Pregunta = pal.Texto_Pregunta,
                    Ponderacion_P = pal.Ponderacion_P
                }).FirstOrDefault();
                return(View(oRQ));
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                return(View(mensaje));
            }
        }
Example #6
0
 public ActionResult Delete(string codSection, int quesNo, string mensaje)
 {
     ViewBag.Status = false;
     if (mensaje != null && mensaje != "")
     {
         if (mensaje == "Ok")
         {
             ViewBag.Message = "Pregunta Eliminada exitosamente";
             ViewBag.Status  = true;
         }
         else
         {
             ViewBag.Message = mensaje;
             ViewBag.Status  = false;
         }
     }
     try
     {
         var oRQ = new RQViewModel();
         using (BD_EvaluacionEntities Db = new BD_EvaluacionEntities())
         {
             oRQ = (from Rq in Db.Preguntas_Aleatorias
                    where Rq.Codigo_Seccion == codSection && Rq.Numero_Pregunta == quesNo
                    select new RQViewModel
             {
                 Codigo_Seccion = Rq.Codigo_Seccion,
                 Numero_Pregunta = Rq.Numero_Pregunta,
                 Texto_Pregunta = Rq.Texto_Pregunta,
                 Ponderacion_P = Rq.Ponderacion_P
             }).FirstOrDefault();
         }
         return(View(oRQ));
     }
     catch (Exception e)
     {
         return(View(new { e.Message }));
         //return RedirectToAction("~/Home/Error/UnAuthorizedOperation?Error = " + e.Message);
     }
 }
Example #7
0
        public ActionResult Edit(RQViewModel Rq)
        {
            ViewBag.Sections = new SelectList(Tools.LeerSecciones(), "Codigo_Seccion", "Nombre_Seccion", "");
            try
            {
                if (ModelState.IsValid)
                {
                    using BD_EvaluacionEntities Db = new BD_EvaluacionEntities();
                    Preguntas_Aleatorias oRQ = Db.Preguntas_Aleatorias.Where(i => i.Codigo_Seccion == Rq.Codigo_Seccion && i.Numero_Pregunta == Rq.Numero_Pregunta).SingleOrDefault();

                    oRQ.Numero_Pregunta = Rq.Numero_Pregunta;
                    oRQ.Texto_Pregunta  = Rq.Texto_Pregunta;
                    oRQ.Ponderacion_P   = Rq.Ponderacion_P;
                    Db.Entry(oRQ).State = System.Data.Entity.EntityState.Modified;
                    Db.SaveChanges();
                    mensaje = "Ok";
                }
                else
                {
                    string errors = string.Empty;
                    foreach (var item in ModelState.Values)
                    {
                        if (item.Errors.Count > 0)
                        {
                            mensaje += string.Format("{0} \n", item.Errors[0].ErrorMessage);
                        }
                    }
                    mensaje += " Contacte al Administrador";
                }
                return(View(new { codSection = Rq.Codigo_Seccion, askNo = Rq.Numero_Pregunta, mensaje }));
            }
            catch (Exception e)
            {
                mensaje = "Ocurrió el siguiente error "
                          + e.Message
                          + " Contactar al administrador";
                return(View(new { mensaje }));
            }
        }
Example #8
0
        public async Task <ActionResult> Index(int mode, int recruit)
        {
            var yearRecruits = _dataService.FetchYearRecruits();

            RQMode selectMode = mode.ToRQModeType();

            if (selectMode == RQMode.Unknown)
            {
                //初次載入頁面
                var rqIndexModel = new RQIndexViewModel();
                rqIndexModel.LoadModeOptions();

                rqIndexModel.YearRecruits = yearRecruits.ToList();

                //考試科目
                var examSubjects = await _subjectsService.FetchExamSubjectsAsync();

                rqIndexModel.LoadSubjectOptions(examSubjects);

                return(Ok(rqIndexModel));
            }


            if (selectMode != RQMode.Read)
            {
                ModelState.AddModelError("RQMode", "僅支援閱讀模式");
                return(BadRequest(ModelState));
            }

            var recruitsViews = yearRecruits.SelectMany(item => item.SubItems);

            var selectedRecruitView = recruitsViews.FirstOrDefault(x => x.Id == recruit);

            if (selectedRecruitView == null)
            {
                ModelState.AddModelError("recruit", "年度不存在");
                return(BadRequest(ModelState));
            }

            //取得題目與解析的附件
            var types = new List <PostType> {
                PostType.Option, PostType.Resolve
            };
            var attachments = (await _attachmentsService.FetchByTypesAsync(types)).ToList();

            var model = new RQViewModel();

            var parts = selectedRecruitView.SubItems;

            if (parts.HasItems())
            {
                foreach (var part in parts)
                {
                    var partView = await InitRQPartViewModelAsync(part, attachments);

                    model.Parts.Add(partView);
                }
            }
            else
            {
                var partView = await InitRQPartViewModelAsync(selectedRecruitView, attachments);

                model.Parts.Add(partView);
            }

            model.LoadTitle();

            return(Ok(model));
        }