public void Create(QuestionVM model) { _unitOfWork.Questions.Create(new Question { Text = model.Text, Score = model.Score, TestId = model.TestId }); _unitOfWork.Save(); }
public void Update(QuestionVM model) { _unitOfWork.Questions.Update(new Question { QuestionId = model.QuestionId, Text = model.Text, Score = model.Score, TestId = model.TestId }); _unitOfWork.Save(); }
public ActionResult Edit([Bind(Include = "Id,QuestionTypeId,Name,MultipleAnswer")] QuestionVM questionVM) { try { if (ModelState.IsValid) { QuestionDTO questionDTO = Mapper.Map <QuestionDTO>(questionVM); QuestionService.Update(questionDTO); return(RedirectToAction("Index")); } else { ModelState.AddModelError(null, "Что-то пошло не так. Не удалось сохранить изменения."); } ViewBag.QuestionTypeId = GetQuestionTypeIdSelectList(questionVM.QuestionTypeId); return(View(questionVM)); } catch (UniqueConstraintException ex) { return(Json(new { hasError = true, data = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create([Bind(Include = "QuestionTypeId,Name,MultipleAnswer")] QuestionVM questionVM) { try { if (ModelState.IsValid) { QuestionDTO questionDTO = Mapper.Map <QuestionDTO>(questionVM); //int questionId = QuestionService.AddAndGetId(questionDTO); QuestionService.Add(questionDTO); return(RedirectToAction("Index")); } ViewBag.QuestionTypeId = GetQuestionTypeIdSelectList(questionVM.QuestionTypeId); return(View(questionVM)); } catch (UniqueConstraintException ex) { return(Json(new { hasError = true, data = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public static DataTemplate SelectTemplate(QuestionVM question) { string typeCode = question != null ? question.ResponseTypeCode : null; string resourceName = GetResponseResourceName(typeCode); return((DataTemplate)Application.Current.Resources[resourceName]); }
/// <summary> /// Creates a GDS compliant Question with label, help text and error messages /// </summary> /// <param name="helper">The HTML Class</param> /// <param name="question">The QuestionVM class</param> /// <param name="htmlAttributes">Any additional attributes to apply to the questions.</param> /// <returns>Returns the HTML for GDS compliant questions</returns> public static IHtmlContent GdsQuestion(this IHtmlHelper helper, QuestionVM question, object htmlAttributes = null) { IHtmlContent content; switch (question.InputType) { case "textbox": content = BuildTextBox(question); break; case "textarea": content = BuildTextArea(question); break; case "optionlist": content = BuildOptionList(question); break; case "selectlist": content = BuildSelectList(question); break; case "checkboxlist": content = BuildCheckboxList(question); break; default: content = BuildInfoPage(question); break; } return(new HtmlString(content.ToString())); }
public QuestionVM Get(int id) { QuestionVM QuestionVM = new QuestionVM(); QuestionDTO QuestionDTO; using (ApplicationDbContext db = new ApplicationDbContext()) { QuestionDTO = db.Questions.Find(id); if (QuestionDTO == null) { return(null); } int qId = QuestionDTO.Id; List <AnswerVM> ans = db.Answers.Where(x => x.QuestionId == qId) .ToArray().Select(y => new AnswerVM(y)).ToList(); foreach (AnswerVM temp in ans) { string ansuserId = temp.userId; ApplicationUser ansUser = db.Users.FirstOrDefault(x => x.Id == ansuserId); temp.username = ansUser.UserName; } QuestionVM = new QuestionVM(QuestionDTO); string userId = QuestionDTO.starterId; ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == userId); QuestionVM.username = currentUser.UserName; QuestionVM.answers = ans; QuestionVM.answarcount = ans.Count(); } return(QuestionVM); }
// PUT api/<controller>/5 public IHttpActionResult Put(QuestionVM questionVM) { using (var ctx = new MyContext()) { var existing = ctx.Questions.Where(s => s.QuestionID == questionVM.QuestionID) .FirstOrDefault <Question>(); if (existing != null) { existing.Text = questionVM.Text; existing.IDQuiz = questionVM.IDQuiz; existing.CorrectOpt = questionVM.CorrectOpt; existing.Opt1 = questionVM.Opt1; existing.Opt2 = questionVM.Opt2; existing.Opt3 = questionVM.Opt3; existing.Opt4 = questionVM.Opt4; ctx.SaveChanges(); } else { return(NotFound()); } } return(Ok()); }
public List <QuestionVM> Get() { List <QuestionVM> QuestionVMList = new List <QuestionVM>(); List <QuestionDTO> QuestionDTOList; using (ApplicationDbContext db = new ApplicationDbContext()) { QuestionDTOList = db.Questions .ToArray() .ToList(); for (int i = 0; i < QuestionDTOList.Count; i++) { int qId = QuestionDTOList[i].Id; int anscount = db.Answers.Where(x => x.QuestionId == qId) .ToArray().Count(); QuestionVM temp = new QuestionVM(QuestionDTOList[i]); string userId = QuestionDTOList[i].starterId; ApplicationUser currentUser = (new ApplicationDbContext()).Users.FirstOrDefault(x => x.Id == userId); temp.username = currentUser.UserName; temp.answarcount = anscount; //temp.answers=ans; QuestionVMList.Add(temp); } } return(QuestionVMList); }
public IActionResult Create(QuestionVM vm) { if (ModelState.IsValid) { Question q = new Question { QuestionName = vm.QuestionName, AnswerA = vm.AnswerA, AnswerB = vm.AnswerB, AnswerD = vm.AnswerD, AsnwerC = vm.AnswerC, CorrectAnswer = vm.CorrectVariant, Point = vm.Point }; context.Questions.Add(q); var isSave = context.SaveChanges(); if (isSave > 0) { return(RedirectToAction("Index", "Home")); } throw new Exception("Database ex"); } return(View()); }
public bool suggestQuestion(QuestionVM newQuestion) { int categoryid = newQuestion.categoryId; string category = Entity.db.Categories.FirstOrDefault(c => c.categoryId == categoryid).ToString(); string htmlText = @" <head> <style> body{background-color:cadetblue;direction:rtl;text-align:center;} h1,h3,p{font-size:20px; text-align:center;color:blue;} </style> </head> <body>"; htmlText += "<h1>מנהל המאגר היקר </h1><p>" + "הרי לפניך הצעת שאלה חדשה למאגר השאלות </p>" + "<h3>נושא השאלה :</h3>" + category + "<br/>" + "<h3>" + newQuestion.questionDescription + "</h3><br>"; List <Answer> answers = Entity.db.Answers.Where(a => a.questionId == newQuestion.questionId).ToList(); int num = 0; foreach (var item in answers) { htmlText += "<h4>תשובה <p>" + ++num + item.answerDescription + " </p></h4>"; } //htmlText += " <img src='cid:G:/ל סיון/C#IDEAL/GUI/UploadFile/.JPG'></body>"; Class1.SendEmail(htmlText, "הצעת שאלה חדשה "); return(true); }
public IHttpActionResult addNewQuestion(QuestionVM question) { var prinicpal = (ClaimsPrincipal)Thread.CurrentPrincipal; var userId = int.Parse(prinicpal.Claims.Where(c => c.Type == "UserId").Select(c => c.Value).SingleOrDefault().ToString()); return(Ok(QuestionModule.CreateQuestion(question, userId))); }
// GET: Questions/Delete/5 public async Task <IActionResult> Delete(int?id) { if (id == null) { return(NotFound()); } var question = await _context.Questions .FirstOrDefaultAsync(m => m.Id == id); if (question == null) { return(NotFound()); } QuestionVM qViewModel = new QuestionVM(); qViewModel.QuestionId = question.Id; qViewModel.Question = question.Text; qViewModel.CorrectAnswer = question.CorrectAnswer; qViewModel.Subject = question.Subject.Name; Alternative[] alternatives = question.Alternatives.ToArray(); qViewModel.AlternativeA = alternatives[0].Text; qViewModel.AlternativeB = alternatives[1].Text; qViewModel.AlternativeC = alternatives[2].Text; qViewModel.AlternativeD = alternatives[3].Text; qViewModel.AlternativeE = alternatives[4].Text; ViewBag.Subjects = _context.Subjects.Select(s => new SelectListItem() { Selected = (s.Id == question.Subject.Id), Text = s.Name, Value = s.Name }).ToList(); return(View(qViewModel)); }
public ActionResult QuizzView() { int selectedMode = (int)Session["SelectedMode"]; Random rand = new Random(); int toSkip = rand.Next(0, dbContext.Questions.Count()); var tmpQ = dbContext.Questions.OrderBy(x => x.QuestionID).Skip(toSkip).Take(1).First(); QuestionVM question = new QuestionVM() { QuestionID = tmpQ.QuestionID, QuestionText = tmpQ.QuestionText, Anwser = tmpQ.Answer, Choices = new List <ChoiceVM>() }; foreach (var c in tmpQ.Choices) { question.Choices.Add(new ChoiceVM() { ChoiceID = c.ChoiceID, ChoiceText = c.ChoiceText }); } return(View(question)); }
// GET: Question/Edit/5 public async Task <ActionResult> Edit(int questionId) { try { Question q = await ws.GetProductAsyncByPath(path + questionId); QuestionVM b = new QuestionVM(); b.questionId = q.questionId; b.question = q.question; b.prop1 = q.prop1; b.prop2 = q.prop2; b.prop3 = q.prop3; b.prop4 = q.prop4; b.response = q.response; b.description = q.description; //Question u = await ws.UpdateProductAsync(b); return(View(b)); } catch { return(View()); } }
public void OnRemoveQuestion(QuestionVM question) { foreach (QuestionGroupVM questionGroup in QuestionGroups) { questionGroup.Questions.Remove(question); } }
//processing when a question is deleted public void OnRemoveQuestion(QuestionVM question) { foreach (ControlConstructSchemeVM controlConstructScheme in controlConstructSchemes) { controlConstructScheme.RemoveQuestion(question); } }
public IActionResult QuestionRealtime_Codebehind(string quidAndUserType, LanguagePreference languagePreference) { if (HttpContext.Session.GetString("ControlNumber") == null) { return(RedirectToAction("Login", "ShareholderVoting")); } var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); IConfigurationRoot Configuration = builder.Build(); string quid = quidAndUserType.Split('|')[0].ToString(); string UserType = quidAndUserType.Split('|')[1].ToString(); List <Question> questions = _blockchainContext.questions; var question = questions.FirstOrDefault(q => q.quid == quid); QuestionVM questionVM = new QuestionVM(); questionVM.quid = quid; questionVM.text = question.text; questionVM.blockchainExplorerUrl = Configuration["blockchainExplorerUrl"].ToString(); questionVM.smartContractAddress = _blockchainContext.ContractAddress; ViewBag.UserType = UserType; return(View(questionVM)); }
public ActionResult DeleteQuestionConfirmed(int id) { QuestionVM question = questionService.GetQuestion(id); questionService.RemoveQuestion(id); return(RedirectToAction("Index")); }
public ActionResult EditQuestion(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuestionVM question = questionService.GetQuestion(id); if (question == null) { return(HttpNotFound()); } EditQuestionVM questionToEdit = new EditQuestionVM(); questionToEdit.question = question; var categories = questionService.GetAllCategories(); var qTypes = questionService.GetAllQuestionTypes(); questionToEdit.Categories = categories.Select(d => new SelectListItem { Value = d.categoryID.ToString(), Text = d.categoryName }); questionToEdit.questionTypes = qTypes.Select(d => new SelectListItem { Value = d.questionTypeID.ToString(), Text = d.typeName }); return(View(questionToEdit)); }
public ActionResult LoadQuestionForm(int questionId) { IQuestionFacade questionFacade = FacadeFactory.Instance.Create <IQuestionFacade>(); QuestionVM questionVM = null; if (questionId != -1) { var questionDTOResult = questionFacade.GetQuestionById(questionId); if (questionDTOResult.IsValid()) { questionVM = new QuestionVM(); questionVM.QuestionId = questionDTOResult.Data.QuestionId; questionVM.Text = questionDTOResult.Data.Text; questionVM.Marks = questionDTOResult.Data.Marks; questionVM.QuestionPaperNo = questionDTOResult.Data.QuestionPaperNo; } else { return(new RedirectResult("Error/")); } } else { questionVM = new QuestionVM(); questionVM.QuestionId = -1; questionVM.Text = ""; questionVM.Marks = 1; questionVM.QuestionPaperNo = 1; } return(PartialView(questionVM)); }
private Table CreateFreeResponseOfTextbox(QuestionVM question) { ResponseVM response = question.Response; FreeLayoutVM freeLayout = (FreeLayoutVM)response.Layout; //Create table with border int realRowCount = GetRealRowCount(freeLayout.RowCount); int realColumnCount = GetRealColumnCount(freeLayout.ColumnCount); Table table = CreateDefaultTable(); TableRow tableRow = new TableRow(); table.Append(tableRow); //Create one cell int cellWidth = CalcBoxCellWidth(realColumnCount); TableCell tableCell = CreateBorderCell(cellWidth); tableRow.Append(tableCell); for (int r = 0; r < realRowCount - 1; r++) //reduce one row because of the one that has been added { //The paragraph in the number of the number of lines in it tableCell.Append(CreateEmptyParagraph()); } return(table); }
public static StatisticsInfo CreateDummyChoicesMultiAnswerStatisticsInfo(CodebookVariable codebookVariable) { Debug.Assert(codebookVariable.IsTypeChoicesMultipleAnswer); Debug.Assert(codebookVariable.Question != null); QuestionVM question = codebookVariable.Question; ObservableCollection <CodeVM> codes = question.Response.Codes; List <VariableVM> variables = codebookVariable.Variables; List <CategoryInfo> categoryInfos = new List <CategoryInfo>(); for (int i = 0; i < variables.Count; i++) { if (i >= codes.Count) { break; } VariableVM variable = variables[i]; CodeVM code = codes[i]; CategoryInfo categoryInfo = new CategoryInfo(); categoryInfo.VariableTitle = variable.Title; categoryInfo.CodeValue = code.Value; categoryInfo.CategoryTitle = code.Label; categoryInfos.Add(categoryInfo); } StatisticsInfo statisticsInfo = new StatisticsInfo(); statisticsInfo.QuestionId = question.Id; statisticsInfo.StatisticsType = StatisticsTypes.ChoicesMultipleAnswer; statisticsInfo.CategoryInfos = categoryInfos; return(statisticsInfo); }
// GET: Questions/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var question = await _context.Questions .FirstOrDefaultAsync(m => m.Id == id); if (question == null) { return(NotFound()); } Alternative[] alternatives = question.Alternatives.ToArray(); QuestionVM qViewModel = new QuestionVM(); qViewModel.QuestionId = question.Id; qViewModel.Question = question.Text; qViewModel.CorrectAnswer = question.CorrectAnswer; qViewModel.Subject = question.Subject.Name; qViewModel.AlternativeA = alternatives[0].Text; qViewModel.AlternativeB = alternatives[1].Text; qViewModel.AlternativeC = alternatives[2].Text; qViewModel.AlternativeD = alternatives[3].Text; qViewModel.AlternativeE = alternatives[4].Text; return(View(qViewModel)); }
public ActionResult Details(int id) { IPaperFacade paperFacade = FacadeFactory.Instance.Create <IPaperFacade>(); PaperDetailsVM paperDetails = null; var questionsOfPaper = paperFacade.GetQuestionsOfPaper(id); var paper = paperFacade.GetPaperById(id); if (paper.IsValid() && questionsOfPaper.IsValid()) { paperDetails = new PaperDetailsVM(); paperDetails.PaperId = id; paperDetails.Name = paper.Data.Name; paperDetails.Description = paper.Data.Description; paperDetails.Duration = paper.Data.Duration; paperDetails.Questions = new List <QuestionVM>(); foreach (var question in questionsOfPaper.Data) { QuestionVM questionVM = new QuestionVM(); questionVM.QuestionId = question.QuestionId; questionVM.Text = question.Text; questionVM.Marks = question.Marks; questionVM.QuestionPaperNo = id; paperDetails.Questions.Add(questionVM); } } return(View(paperDetails)); }
public static QuestionVM ToVM(IQuestion iThis) { var rVM = new QuestionVM(); Mapper.Map(iThis, rVM); return(rVM); }
private void CreateVariableInfos() { variableInfos.Clear(); ObservableCollection <VariableVM> variables = StudyUnit.Variables; foreach (VariableVM variable in variables) { VariableInfoVM variableInfo = new VariableInfoVM(variable.Variable); variableInfos.Add(variableInfo); ConceptVM concept = StudyUnit.FindConcept(variable.ConceptId); if (concept != null) { variableInfo.ConceptTitle = concept.Title; } QuestionVM question = StudyUnit.FindQuestion(variable.QuestionId); if (question != null) { variableInfo.QuestionTitle = question.Content; } UniverseVM universe = StudyUnit.FindUniverse(variable.UniverseId); if (universe != null) { variableInfo.UniverseTitle = universe.Title; } variableInfo.VariableType = Options.FindResponseTypeLabel(variable.ResponseTypeCode); } selectedVariableInfoItem = null; }
public ActionResult Add(QuestionVM model) { if (ModelState.IsValid) { Question question; if (model.Id > 0) { question = quesRepo.GetByIDs(model.Id); } else { question = new Question(); } question.CreatedDate = DateTime.UtcNow; question.TrainerID = (int)Session["UserID"]; question.A = model.A; question.B = model.B; question.C = model.C; question.D = model.D; question.E = model.E; question.RightAnswer = model.RightAnswer; //question.Type = model.Type; question.SubjectID = model.SubjectID; question.Content = model.Content; //question.UserID = Convert.ToInt32(Session["UserID"]); question.Deleted = false; if (model.IsUpdate) { if (quesRepo.Edit(question)) { ViewBag.Update = true; ViewBag.Message = true; } else { ViewBag.Message = false; } } else { if (quesRepo.Add(question)) { ViewBag.Update = false; ViewBag.Message = true; } else { ViewBag.Message = false; } } } else { return(Add(0)); } model = null; return(Add(0)); }
public void Init() { List <string> ids = controlConstructScheme.Sequence.ControlConstructIds; foreach (string id in ids) { QuestionConstruct questionConstructModel = controlConstructScheme.FindQuestionConstruct(id); if (questionConstructModel != null) { QuestionVM question = StudyUnit.FindQuestion(questionConstructModel.QuestionId); Debug.Assert(question != null, "Question not found id=" + questionConstructModel.QuestionId); QuestionConstructVM questionConstruct = new QuestionConstructVM(questionConstructModel, question); InitConstruct(questionConstruct); constructModels.Add(questionConstructModel); constructs.Add(questionConstruct); continue; } QuestionGroupConstruct questionGroupConstructModel = controlConstructScheme.FindQuestionGroupConstruct(id); if (questionGroupConstructModel != null) { QuestionGroupVM questionGroup = StudyUnit.FindQuestionGroup(questionGroupConstructModel.QuestionGroupId); QuestionGroupConstructVM questionGroupConstruct = new QuestionGroupConstructVM(questionGroupConstructModel, questionGroup); InitConstruct(questionGroupConstruct); constructModels.Add(questionGroupConstructModel); constructs.Add(questionGroupConstruct); continue; } Statement statementModel = controlConstructScheme.FindStatement(id); if (statementModel != null) { StatementVM statement = new StatementVM(statementModel); InitConstruct(statement); constructModels.Add(statementModel); constructs.Add(statement); continue; } IfThenElse ifThenElseModel = controlConstructScheme.FindIfThenElse(id); if (ifThenElseModel != null) { IfThenElseVM ifThenElse = new IfThenElseVM(ifThenElseModel); InitConstruct(ifThenElse); constructModels.Add(ifThenElseModel); constructs.Add(ifThenElse); } } List <QuestionConstructVM> questionConstructs = QuestionConstructs; foreach (ConstructVM construct in constructs) { if (construct is IfThenElseVM) { IfThenElseVM ifThenElse = (IfThenElseVM)construct; ifThenElse.ThenConstructs = ThenConstructs; } } modelSyncher = new ModelSyncher <ConstructVM, IConstruct>(this, constructs, constructModels); InitTitle(); }
public void OnRemoveQuestion(QuestionVM question) { //Memorize should not be called in the method below, because it will be called after this process. variableForm.OnRemoveQuestion(question); sequenceForm.OnRemoveQuestion(question); bookForm.OnRemoveQuestion(question); questionGroupForm.OnRemoveQuestion(question); }
private void ConvertBiteArrayToImage(QuestionVM qvm, int i) { if (qvm.Images[i].Image.Length != 0) { var image = new BitmapImage(); using (var mem = new MemoryStream(qvm.Images[i].Image)) { mem.Position = 0; image.BeginInit(); image.CreateOptions = BitmapCreateOptions.PreservePixelFormat; image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = null; image.StreamSource = mem; image.EndInit(); } image.Freeze(); AddImageToEditPanel(null, image); } }
private QuestionVM ConvertModelToVM(QuestionModel Question) { if (Question == null) return null; QuestionVM qvm = new QuestionVM(); qvm.QID = Question.QID; qvm.QBody = Question.QBody; if (qvm.QBody.Length > 40) { qvm.QHeader = qvm.QBody.Substring(0, 40) + "..."; } else qvm.QHeader = qvm.QBody; qvm.HasImages = Question.HasImages; qvm.Answers = new ObservableCollection<AnswersVM>(); for (int j = 0; j < Question.Answers.Count; j++) { AnswersVM a = new AnswersVM(); a.AID = Question.Answers[j].AID; a.QID = Question.Answers[j].QID; a.AnswerBody = Question.Answers[j].AnswerBody; a.IsCorrectAnswer = Question.Answers[j].IsCorrectAnswer; qvm.Answers.Add(a); } qvm.Images = new ObservableCollection<ImageModel>(); for (int j = 0; j < Question.Images.Count; j++) { qvm.Images.Add(Question.Images[j]); } return qvm; }