public ActionResult Create(QuestionsDetailsViewModel model) { try { object exisctingTest = webClient.ExecutePost <object>(new Models.ApiRequest() { EndPoint = string.Format("questions"), Request = new QuestionDto() { Text = model.Text, Answers = model.Answers.Select(a => new AnswerDto() { IsCorrect = a.IsCorrect, Text = a.Text }).ToList() } }); return(RedirectToAction("Index")); } catch { return(View()); } }
public QuestionsAnswersPopupPage(Questions questions, Action <QuestionsAnswers> result, QuestionsAnswers questionsAnswers = null) { this.questions = questions; this.questionsAnswers = questionsAnswers; this.result = result; InitializeComponent(); BindingContext = new QuestionsDetailsViewModel(questions); if (questionsAnswers != null) { this.Comment.Text = questionsAnswers.Answer; } this.Comment.Focus(); }
// GET: Questions/Create public ActionResult Create() { QuestionsDetailsViewModel model = new QuestionsDetailsViewModel(); model.Answers.Add(new AnswerViewModel() { Text = string.Empty, IsCorrect = false }); ViewBag.Title = "Create"; return(View(model)); }
public QuestionsAnswersPopupPage(Questions questions, Action <QuestionsAnswers> result, QuestionsAnswers questionsAnswers = null) { InitializeComponent(); Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true); this.questions = questions; this.questionsAnswers = questionsAnswers; this.result = result; BindingContext = new QuestionsDetailsViewModel(questions); if (questionsAnswers != null) { this.Comment.Text = questionsAnswers.Answer; } this.Comment.Focus(); ViewModel.IsBusy = false; }
// GET: Questions/Edit/5 public ActionResult Edit(int id) { var question = webClient.ExecuteGet <QuestionDto>(new Models.ApiRequest() { EndPoint = string.Format("questions/{0}", id) }); QuestionsDetailsViewModel model = new QuestionsDetailsViewModel(); model.Text = question.Text; model.Answers = question.Answers.Select(a => new AnswerViewModel() { Text = a.Text, IsCorrect = a.IsCorrect }).ToList(); ViewBag.Title = "Edit"; return(View("Create", model)); }
public QuestionsDetailsPage(Questions questions) { this.questions = questions; InitializeComponent(); BindingContext = new QuestionsDetailsViewModel(questions); var cancel = new ToolbarItem { Text = "分享", Command = new Command(() => { DependencyService.Get <IShares>().Shares("https://q.cnblogs.com/q/" + questions.Qid + "/", questions.Title); }) }; ToolbarItems.Add(cancel); if (Device.Android == Device.RuntimePlatform) { cancel.Icon = "toolbar_share.png"; } this.QuestionsDetailsView.ItemSelected += async delegate { var answers = QuestionsDetailsView.SelectedItem as QuestionsAnswers; if (answers == null) { return; } var answersDetails = new AnswersDetailsPage(answers); if (answers.AnswerID > 0) { await NavigationService.PushAsync(Navigation, answersDetails); } this.QuestionsDetailsView.SelectedItem = null; }; }
public ActionResult Edit(int id, QuestionsDetailsViewModel model) { try { if (ModelState.IsValid) { try { var response = webClient.ExecutePut <object>(new Models.ApiRequest() { EndPoint = string.Format("questions/{0}", model.Id), Request = new QuestionDto() { Text = model.Text, Answers = model.Answers.Select(a => new AnswerDto() { IsCorrect = a.IsCorrect, Text = a.Text }).ToList() } }); return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError("generalError", e.Message); return(View(model)); } } return(View(model)); } catch { return(View(model)); } }
public QuestionsDetailsPage(Questions questions) { InitializeComponent(); Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true); this.questions = questions; BindingContext = new QuestionsDetailsViewModel(questions); if (Device.Android == Device.RuntimePlatform) { var cancel = new ToolbarItem { Text = "分享", Command = new Command(() => { DependencyService.Get <IShares>().Shares("https://q.cnblogs.com/q/" + questions.Qid + "/", questions.Title); }), Icon = "toolbar_share.png" }; ToolbarItems.Add(cancel); } formsWebView.OnContentLoaded += delegate(object sender, EventArgs e) { RefreshQuestions(); }; formsWebView.AddLocalCallback("reload", async delegate(string obj) { if (formsWebView.LoadStatus == LoadMoreStatus.StausDefault || formsWebView.LoadStatus == LoadMoreStatus.StausError || formsWebView.LoadStatus == LoadMoreStatus.StausFail) { var questionsComments = JsonConvert.SerializeObject(await ViewModel.ReloadAnswersAsync()); await formsWebView.InjectJavascriptAsync("updateComments(" + questionsComments + ");"); } }); formsWebView.AddLocalCallback("editItem", delegate(string id) { var questionsAnswers = ViewModel.QuestionsAnswers.Where(n => n.AnswerID == int.Parse(id)).FirstOrDefault(); Device.BeginInvokeOnMainThread(async() => { var page = new QuestionsAnswersPopupPage(questions, new Action <QuestionsAnswers>(OnResult), questionsAnswers); await Navigation.PushPopupAsync(page); }); }); formsWebView.AddLocalCallback("deleteItem", async delegate(string id) { var result = await ViewModel.DeleteQuestionAnswersAsync(int.Parse(id)); await formsWebView.InjectJavascriptAsync("deleteComment(" + id + "," + result.ToString().ToLower() + ");"); }); formsWebView.AddLocalCallback("itemSelected", delegate(string id) { var questionsAnswers = ViewModel.QuestionsAnswers.Where(n => n.AnswerID == int.Parse(id)).FirstOrDefault(); Device.BeginInvokeOnMainThread(async() => { var answersDetails = new AnswersDetailsPage(questionsAnswers); if (questionsAnswers.AnswerID > 0) { await NavigationService.PushAsync(Navigation, answersDetails); } }); }); }