public override bool Save() { bool result = false; if (SelectedSession == null) { ShowFeedback("Cannot save changes. No Selected Session found.", FeedbackType.Error); return(result); } if (DateTime.Now >= SelectedSession.StartTime && DateTime.Now <= SelectedSession.EndTime) { ClearFeedback(); try { if (FormContextQuestion == FormContext.Create) { //create new answer result = User.AskQuestion(SelectedQuestion, UnitOfWork); UpdateQuestionsList(QuestionSearchTxt); FormContextQuestion = FormContext.Update;//selected item now has an id go to update mode ShowFeedback($"Added question: {SelectedQuestion.Name}.", FeedbackType.Success); } else { //Update Selected Answer result = SelectedQuestion.Validate(UnitOfWork); if (result) { result = (UnitOfWork.Complete() > 0) ? true : false; ShowFeedback($"Updated question: {SelectedQuestion.Name}", FeedbackType.Success); } } } catch (DbUpdateException ex) { ShowFeedback(ex.Message, FeedbackType.Error); } catch (SqlException ex) { ShowFeedback(ex.Message, FeedbackType.Error); } catch (Exception ex) { ShowFeedback(ex.Message, FeedbackType.Error); } } else { ShowFeedback($"Cannot Save: \nSession: {SelectedSession.Name} is closed. Start: {SelectedSession.StartTime} - {SelectedSession.EndTime}", FeedbackType.Error); result = false; } return(result); }
public void SelectResponse() { ResponseVM newResponse = SelectAndCreateResponse(SelectedQuestion.Response); if (newResponse != null) { SelectedQuestion.Response = newResponse; //When the question is selected, the following notification is needed for Response Style name to be reflected in the name of Response Style the question grid SelectedQuestion.NotifyPropertyChanged("ResponseTitle"); Window.UpdateTemplate(); } }
private static ISession GetInProgressSession(SelectedQuestion question = null) { if (question == null) { question = SampleQuestion; } var session = Substitute.For <ISession>(); session.GetObject <int>("Score").Returns(3); session.GetObject <int[]>("QuestionIndices").Returns(QuestionIndices); session.GetObject <SelectedQuestion>("CurrentQuestion").Returns(question); return(session); }
private void EditExecute(object obj) { if (SelectedQuestion == null) { MessageBox.Show("请选择要编辑的问题"); return; } var c = new AskAndAnswer(SelectedQuestion.DeepCopy()); c.Closed += (s, e) => { if (c.DialogResult == true) { Refresh(); } }; c.Show(); }
// Add/Update question to questionlist public void AddQuestion() { var item = SelectedQuestion.Index == 0 ? null : SelectedQuestionList.Questions.FirstOrDefault(i => i.Index == SelectedQuestion.Index); if (TypeConverter.type[SelectedQuestion.Type] == "Table") { var temp = new ViewModelLocator().OptionHandlerViewModel; temp.OptionTemp.Insert(0, temp.HeaderOne); temp.OptionTemp.Insert(1, temp.HeaderTwo); SelectedQuestion.QuestionOptions = temp.ListToString(); } if (item == null) { try { SelectedQuestionList.Questions.Add(SelectedQuestion.ToQuestion()); Questions.Add(SelectedQuestion); SelectedQuestion = null; SwitchView = 1; UpdateIndex(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } } else { item = SelectedQuestion.ToQuestion(); var t = Questions.Single(i => i.Index == SelectedQuestion.Index); t = SelectedQuestion; SelectedQuestion = null; SwitchView = 1; UpdateIndex(); } }
public void DeleteQuestion() { //CAST QUESTIONVIEWMODEL TO QUESTION Question question = SelectedQuestion.ToPoco(); //DELETE QUESTION ANSWERS var answers = question.Answers; foreach (var a in answers) { AnswerRepository.Delete(a.AnswerID); } //REMOVE QUESTION QuestionRepository.Delete(question.QuestionID); QuestionRepository.Save(); Questions.Remove(SelectedQuestion); ResetData(); }
private void ExecuteOpenSelectedQuestion() { if (SelectedQuestion != null) { var p = SelectedQuestion.GetCompleteQuestion(); this.Name = p.Name; this.Request = p.Request; this.TypeOfResponse = p.ResponseType; this.TypeOfTeam = p.TeamName; this.IsRequired = p.RequiresResponse; this.HelpText = p.HelpText; //this.HelpImage = selectedQuestion.HelpImage this.IsTemplate = p.Template; Messenger.Default.Send <RequestCloseQuestionsDialog>(new RequestCloseQuestionsDialog()); this.PrerequisiteQuestions = new ObservableCollection <Question>(p.Prerequisites); this.PostrequisiteQuestions = new ObservableCollection <Question>(p.Postrequisites); this.CorequisiteQuestions = new ObservableCollection <Question>(p.Corequisites); Messenger.Default.Send <RequestCloseLoadQuestionsDialog>(new RequestCloseLoadQuestionsDialog()); } }
private void DeleteQuestion() { SelectedQuestion.Delete(); Questions.Remove(SelectedQuestion); }
private void ReloadQuestion() { SelectedQuestion.Reload(); }
private void DisableQuestion() { SelectedQuestion.Disable(); Questions.Remove(SelectedQuestion); }