public async Task <ActionResult> Create(QuestionView view) { if (ModelState.IsValid) { var pic = string.Empty; const string folder = "~/Content/GamePics"; if (view.ImageFile != null) { pic = Files.UploadPhoto(view.ImageFile, folder, ""); pic = string.Format("{0}/{1}", folder, pic); } var question = new Question { CategoryId = view.CategoryId, QuestionName = view.QuestionName }; question.Picture = pic; db.Questions.Add(question); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.CategoryId = new SelectList(db.Categories, "CategoryId", "Name", view.CategoryId); return(View(view)); }
private QuestionView OpenQuestionTab(string ProvisioningJid, out bool DoSearch) { QuestionView QuestionView = null; foreach (TabItem TabItem in this.Tabs.Items) { QuestionView = TabItem.Content as QuestionView; if (QuestionView != null && QuestionView.ProvisioningJid == ProvisioningJid) { DoSearch = false; return(QuestionView); } } TabItem TabItem2 = new TabItem(); this.Tabs.Items.Add(TabItem2); QuestionView = new QuestionView(ProvisioningJid); TabItem2.Header = "Questions (" + ProvisioningJid + ")"; TabItem2.Content = QuestionView; DoSearch = true; return(QuestionView); }
// GET: Questions/Create public ActionResult Create() { ViewBag.CategoryId = new SelectList(db.Categories, "CategoryId", "Name"); var question = new QuestionView(); return(View()); }
/// <summary> /// 加载信息 /// </summary> protected void LoadInfo() { ddl_Class.DataSource = NewsAction.NewsClass.Where(p => p.IsLeafClass && p.ModelID == 3); ddl_Class.DataTextField = "ClassName"; ddl_Class.DataValueField = "ID"; ddl_Class.DataBind(); ddl_Class.SelectedValue = cls.ToS(); ddl_Author.DataSource = UserView.GetModelList(); ddl_Author.DataTextField = "UserName"; ddl_Author.DataValueField = "ID"; ddl_Author.DataBind(); Question qu = QuestionView.GetModelByID(id.ToS()); if (id > 0) { ddl_Class.SelectedValue = qu.ClassID.ToS(); txt_Title.Text = qu.Title; //ddl_Author.Text = qu.UserID.ToS(); ddl_Author.SelectedValue = qu.UserID.ToS(); txt_ClickCount.Text = qu.ClickCount.ToS(); txt_Content.Text = qu.Content; rp_list.DataSource = AnswerView.GetModelList(string.Format("QuestionID={0} order by id", qu.ID)); rp_list.DataBind(); } }
public async Task Processed(QuestionView QuestionView) { MainWindow.UpdateGui(() => { int i = QuestionView.QuestionListView.SelectedIndex; int c; QuestionView.Details.Children.Clear(); QuestionView.QuestionListView.Items.Remove(this); c = QuestionView.QuestionListView.Items.Count; if (c == 0) { MainWindow.currentInstance.CloseTab_Executed(this, null); } else if (i < c) { QuestionView.QuestionListView.SelectedIndex = i; } }); await Database.Delete(this); LinkedList <Question> ToRemove = null; foreach (Question Question in QuestionView.QuestionListView.Items) { if (Question.IsResolvedBy(this)) { if (ToRemove is null) { ToRemove = new LinkedList <Question>(); } ToRemove.AddLast(Question); } } if (ToRemove != null) { MainWindow.UpdateGui(() => { foreach (Question Question in ToRemove) { QuestionView.QuestionListView.Items.Remove(Question); } if (QuestionView.QuestionListView.Items.Count == 0) { MainWindow.currentInstance.CloseTab_Executed(this, null); } }); foreach (Question Question in ToRemove) { await Database.Delete(Question); } } }
public StudentTest() { InitializeComponent(); qV = new QuestionView(); answare.IsVisible = false; goodbad.IsVisible = false; Send.Text = "يلا"; Rowad_Logo.Source = "rowad.png"; }
void SetAnswers(QuestionView view, Question question) { m_currentView = view; view.gameObject.SetActive(true); view.AnswerA = question.GetAnswerOption("A"); view.AnswerB = question.GetAnswerOption("B"); view.AnswerC = question.GetAnswerOption("C"); view.AnswerD = question.GetAnswerOption("D"); }
public IHttpActionResult GetOne(int id) { QuestionView model = (new QuestionService(_uow.GetRepository <IQuestionRepository>())).GetOne(id); if (model != null) { return(Ok(model)); } return(BadRequest("Not found")); }
internal void NewQuestion(XmppAccountNode Owner, ProvisioningClient ProvisioningClient, Question Question) { QuestionView QuestionView = this.FindQuestionTab(Owner, ProvisioningClient); if (QuestionView != null && Question != null) { QuestionView.NewQuestion(Question); return; } Task.Run(async() => { try { LinkedList <Question> Questions = new LinkedList <Question>(); bool Found = Question == null; foreach (Question Question2 in await Database.Find <Question>(new FilterAnd(new FilterFieldEqualTo("OwnerJID", Owner?.BareJID), new FilterFieldEqualTo("ProvisioningJID", ProvisioningClient?.ProvisioningServerAddress)), "Created")) { Questions.AddLast(Question2); if (!Found) { Found = Question2.ObjectId == Question.ObjectId; } } if (!Found) { Questions.AddLast(Question); } if (Questions.First != null) { DispatcherOperation Op = MainWindow.currentInstance.Dispatcher.BeginInvoke(new ThreadStart(() => { if (QuestionView == null) { QuestionView = this.CreateQuestionTab(Owner, ProvisioningClient); } foreach (Question Question2 in Questions) { QuestionView.NewQuestion(Question2); } })); } } catch (Exception ex) { Log.Critical(ex); } }); }
public ActionResult ToggleStatus(int id) { QuestionView question = _uow.GetRepository <IQuestionRepository>().GetOne(id); if (question == null) { return(HttpNotFound()); } _uow.GetRepository <IQuestionRepository>().ToggleQuestionStatus(id); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { QuestionView question = _uow.GetRepository <IQuestionRepository>().GetOne(id); if (question == null) { return(HttpNotFound()); } _uow.GetRepository <IQuestionRepository>().Delete(id); return(RedirectToAction("Index")); }
public async Task <IActionResult> Post(string id, [FromBody] QuestionView question) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var quest = await db.Questions.Include(q => q.Choices).FirstOrDefaultAsync(q => q.Id == id); if (quest == null) { return(NotFound()); } string checkKind = CheckKind(question); if (!string.IsNullOrEmpty(checkKind)) { return(BadRequest(checkKind)); } var set = await db.QuestionSets.Include(d => d.Questions).FirstOrDefaultAsync(q => q.Id == question.QuestionSetId); if (set == null) { return(NotFound(question.QuestionSetId)); } if (set.Questions.Count >= 30 && quest.QuestionSetId != question.QuestionSetId) { return(BadRequest("Max 30 questions in set")); } db.Choices.RemoveRange(quest.Choices); List <Choice> choices = new List <Choice>(); if (question.Kind != "text") { foreach (var c in question.Choices.OrderBy(q => q.Order)) { choices.Add(new Choice(c, question.QuestionSetId)); } } Question nQuestion = new Question(question, choices); UpdateQst(quest, nQuestion); db.Questions.Update(quest); await db.SaveChangesAsync(); QuestionView view = new QuestionView(quest); return(Ok(view)); }
//Save the question asked in the forum public ActionResult CreateQuestion([Bind(Include = "QuestionDescription,QuestionTitle")] QuestionView QuestionObject) { if (ModelState.IsValid) { if (IQuestion.CreateQuestion(QMapToDto(QuestionObject))) { return(RedirectToAction("AllQuestions")); } } return(View(QuestionObject)); }
//Map the objects from QuestionView to QuestionDto public QuestionDto QMapToDto(QuestionView QuestionObject) { return(new QuestionDto { QuestionDate = QuestionObject.QuestionDate, QuestionDescription = QuestionObject.QuestionDescription, AnswerCount = QuestionObject.AnswerCount, QuestionId = QuestionObject.QuestionId, QuestionTitle = QuestionObject.QuestionTitle, }); }
private QuestionView CreateQuestionTab(XmppAccountNode Owner, ProvisioningClient ProvisioningClient) { TabItem TabItem = MainWindow.NewTab("Questions (" + Owner.BareJID + ")"); this.Tabs.Items.Add(TabItem); QuestionView QuestionView = new QuestionView(Owner, ProvisioningClient); TabItem.Content = QuestionView; return(QuestionView); }
/// <summary> /// 获取下一个提问 /// </summary> /// <param name="img"></param> /// <param name="cls"></param> /// <returns></returns> public static Question GetNextQuestion(Question qs, Class cls) { List <Question> lresult = QuestionView.GetModelList(string.Format("classID={0} and ID>{1} order by ID Asc", cls.ID, qs.ID), 1); if (lresult.Count == 0) { return(null); } else { return(lresult.First()); } }
public ActionResult Index() { Question[] All_Questions = js.getAllQuestions(); Question[] PreAppQuestions = js.Get_PreApp_Questions(); //IEnumerable<Question> paQLIst = All_Questions.ToList(); QuestionView qView = new QuestionView(); qView.ApplicationQuestions = All_Questions.ToList(); qView.PreApplicationQuestions = PreAppQuestions.ToList(); return(View(qView)); }
protected void DeleteAnswer(int id) { AnswerView.DelByID(id); Class cls = ClassView.GetModelByID(WS.RequestString("class")); Question qu = QuestionView.GetModelByID(WS.RequestString("id")); if (cls.ID > 0 && qu.ID > 0) { CreatePage.CreateContentPage(qu, cls); } rp_list.DataSource = AnswerView.GetModelList(string.Format("QuestionID={0} order by id", WS.RequestString("id"))); rp_list.DataBind(); }
public void View(QuestionView questionView) { var userViewed = Db.FirstOrDefault <Models.DataModels.QuestionView>("WHERE [UserId] = @0 AND [QuestionId] = @1", questionView.UserId, questionView.QuestionId); if (userViewed == null) { var view = new Models.DataModels.QuestionView { UserId = questionView.UserId, QuestionId = questionView.QuestionId }; Db.Insert("QuestionViews", view); } }
// GET: Questions/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuestionView question = _uow.GetRepository <IQuestionRepository>().GetOne(id.Value); if (question == null) { return(HttpNotFound()); } return(View(question)); }
protected void Page_Load(object sender, EventArgs e) { User u = UserAction.opuser; if (u.ID <= 0) { Js.AlertAndGoback("对不起,您没有登录,请登录后回答!"); return; } int qid = WS.RequestInt("qid"); string content = WS.RequestString("content"); if (qid <= 0) { Js.AlertAndGoback("对不起,参数错误,如有疑问,请联系管理员!"); return; } Class cls = QuestionView.GetModelByID(qid.ToS()).GetClass(); if (UserAction.HasPostRight(cls.ID) == false) { Js.AlertAndGoback("对不起,对于本栏目您没有回答权限,如有疑问,请联系管理员!"); return; } Answer a = new Answer(); a.Agree = 0; a.AnswerTime = DateTime.Now; a.Content = content; a.QuestionID = qid; a.UserID = u.ID; a.UserName = u.UserName; AnswerView.Insert(a); Question q = QuestionView.GetModelByID(a.QuestionID.ToS()); CreatePage.CreateContentPage(q, q.GetClass());//创建内容页 string url = BasePage.GetQuestionUrl(q, q.GetClass()); Js.AlertAndChangUrl("回答成功!", url); }
public async Task <IActionResult> Get(string id) { var qst = await db.Questions .AsNoTracking() .Include(q => q.Choices) .FirstOrDefaultAsync(q => q.Id == id); if (qst == null) { return(NotFound()); } qst.Choices = qst.Choices.OrderBy(c => c.Order).ToList(); QuestionView view = new QuestionView(qst); return(Ok(view)); }
protected void btn_Submit_Click(object sender, EventArgs e) { if (UserAction.HasPostRight(ddl_Class.SelectedValue.ToInt32()) == false) { Js.AlertAndGoback("对不起,对于本栏目您没有提问的权限!如有疑问,请联系管理员"); return; } User u = UserAction.opuser; int rclass = WS.RequestInt("ddl_Class", WS.RequestInt("class")); string content = WS.RequestString("txt_Content").TrimDbDangerousChar().Trim().HtmlDeCode(); string title = WS.RequestString("txt_Title").TrimDbDangerousChar().Trim(); if (rclass < 0) { Js.AlertAndGoback("栏目不能为空"); return; } if (content.IsNullOrEmpty()) { Js.AlertAndGoback("提问内容不能为空"); return; } if (title.IsNullOrEmpty()) { Js.AlertAndGoback("标题不能为空"); return; } Question qs = new Question(); qs.AskTime = DateTime.Now; qs.ClassID = rclass; qs.ClickCount = 0; qs.Content = content; qs.Title = title; qs.UserID = u.ID; qs.UserName = u.UserName; qs.ZtID = 0; QuestionView.Insert(qs); CreatePage.CreateContentPage(qs, qs.GetClass()); CreatePage.CreateListPage(qs.GetClass(), 1); string url = BasePage.GetQuestionUrl(qs, qs.GetClass()); Js.AlertAndChangUrl("提问发布成功!", url); }
public async Task <IActionResult> Post([FromBody] QuestionView question) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string checkKind = CheckKind(question); if (!string.IsNullOrEmpty(checkKind)) { return(BadRequest(checkKind)); } var set = await db.QuestionSets.Include(s => s.Questions).FirstOrDefaultAsync(q => q.Id == question.QuestionSetId); if (set == null) { return(NotFound(question.QuestionSetId)); } if (set.Questions.Count >= 30) { return(BadRequest("Max 30 questions in set")); } List <Choice> choices = new List <Choice>(); if (question.Kind != "text") { foreach (var c in question.Choices.OrderBy(q => q.Order)) { choices.Add(new Choice(c, question.QuestionSetId)); } } question.Order = set.Questions.Count; Question qst = new Question(question, choices); db.Questions.Add(qst); await db.SaveChangesAsync(); QuestionView view = new QuestionView(qst); //TODO: сделать Pacth, копию в sessionChoice return(Ok(view)); }
public static Question QuestionConverter(QuestionView questionView) { Question question = new Question(); question.Content = questionView.Content; question.Answers = new List <Answer>(); foreach (AnswerView answer in questionView.Answers) { question.Answers.Add(new Answer { Content = answer.Content, IsItRight = answer.IsRight }); } return(question); }
public ActionResult CreateAnswer(int questionId, AnswerEdit editModel) { QuestionView question = _uow.GetRepository <IQuestionRepository>().GetOne(questionId); if (question == null) { return(HttpNotFound()); } editModel.QuestionId = questionId; if (ModelState.IsValid) { _uow.GetRepository <IQuestionRepository>().CreateAnswer(editModel); return(RedirectToAction("Index")); } return(View(editModel)); }
private async Task NewQuestion(string ProvisioningJid, Question Question) { QuestionView QuestionView; bool DoSearch; if (Question == null) { QuestionView = null; DoSearch = true; } else { QuestionView = this.OpenQuestionTab(ProvisioningJid, out DoSearch); } if (DoSearch) { bool Found = false; foreach (Question Question2 in await Database.Find <Question>( new FilterFieldEqualTo("ProvisioningJid", ProvisioningJid), "Created")) { if (QuestionView == null) { QuestionView = this.OpenQuestionTab(ProvisioningJid, out DoSearch); } QuestionView.NewQuestion(Question2); if (Question != null) { Found |= Question2.ObjectId == Question.ObjectId; } } if (Found) { return; } } if (Question != null) { QuestionView.NewQuestion(Question); } }
/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btn_Save_Click(object sender, EventArgs e) { Class cls = ClassView.GetModelByID(ddl_Class.SelectedValue); Question qu = QuestionView.GetModelByID(WS.RequestString("id")); qu.ClassID = ddl_Class.SelectedValue.ToInt32(); qu.Title = txt_Title.Text.TrimDbDangerousChar(); qu.UserID = ddl_Author.SelectedValue.ToInt32(); qu.UserName = ddl_Author.SelectedItem.Text; qu.ClickCount = txt_ClickCount.Text.ToInt32(0); if (qu.ID <= 0) { qu.AskTime = DateTime.Now; } qu.Content = txt_Content.Text.TrimDbDangerousChar(); qu.Title = txt_Title.Text; qu.ZtID = 0; if (qu.ID > 0) { QuestionView.Update(qu); } else { QuestionView.Insert(qu); } //生成页面 CreatePage.CreateContentPage(qu, cls); Question pre = GetPreQuestion(qu, cls); if (pre != null) { CreatePage.CreateContentPage(pre, cls); } CreatePage.CreateListPage(cls, 1); Js.AlertAndChangUrl("保存成功!", url); }
private QuestionView FindQuestionTab(XmppAccountNode Owner, ProvisioningClient ProvisioningClient) { QuestionView QuestionView = null; foreach (TabItem TabItem in this.Tabs.Items) { QuestionView = TabItem.Content as QuestionView; if (QuestionView != null && QuestionView.Owner == Owner && QuestionView.ProvisioningJid == ProvisioningClient.ProvisioningServerAddress) { return(QuestionView); } } return(null); }
public async Task <IEnumerable <QuestionView> > GradeEventAsync(Guid eventId, IEnumerable <string> answers, CancellationToken ct) { var questionViews = new List <QuestionView>(); var evt = await _context.Events.FindAsync(eventId); if (evt != null && evt.WorkspaceId.HasValue) { try { var outputsObj = await _casterService.GetWorkspaceOutputsAsync(evt.WorkspaceId.Value, ct); var json = JsonSerializer.Serialize(outputsObj); var root = JsonSerializer.Deserialize <Root>(json, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); for (var i = 0; i < root.Questions.Value.Count(); i++) { var question = root.Questions.Value[i]; var questionView = new QuestionView(question); var answer = answers.ElementAt(i); if (question.Answer == answer) { questionView.IsCorrect = true; } if (!string.IsNullOrEmpty(answer)) { questionView.Answer = answer; questionView.IsGraded = true; } questionViews.Add(questionView); } } catch (Exception ex) { } } return(questionViews); }
bool SelectImageQuestionView(QuestionView questionView) { return (questionView as ImageQuestionView != null); }
bool SelectTextQuestionView(QuestionView questionView) { return (questionView as TextQuestionView != null); }