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