public async Task GET() { Guid testId = Guid.Empty; MultiLineTextEdit multiLineTextEdit = null; var isAsyncComplete = false; var hasError = false; EnqueueConditional(() => isAsyncComplete); await Setup(); try { var allMultiLineTexts = await MultiLineTextList.GetAllAsync(); testId = allMultiLineTexts.First().Id; multiLineTextEdit = await MultiLineTextEdit.GetMultiLineTextEditAsync(testId); } catch { hasError = true; } finally { EnqueueCallback( () => Assert.IsFalse(hasError), () => Assert.IsNotNull(multiLineTextEdit), () => Assert.IsTrue(multiLineTextEdit.Lines.Count >= 2), () => Assert.AreEqual(testId, multiLineTextEdit.Id) ); EnqueueTestComplete(); Teardown(); isAsyncComplete = true; } }
//private ExceptionCheckCallback _CompletedCallback { get; set; } #endregion #region Methods public void Initialize(LineEdit line, MultiLineTextEdit multiLineText) { HideAnswer(); Line = line; MultiLineText = multiLineText; PopulateQuestionAndAnswer(); }
public async Task CREATE_NEW() { //var isCreated = false; MultiLineTextEdit newMultiLineTextEdit = null; var isAsyncComplete = false; var hasError = false; EnqueueConditional(() => isAsyncComplete); await Setup(); try { newMultiLineTextEdit = await MultiLineTextEdit.NewMultiLineTextEditAsync(); Assert.IsTrue(newMultiLineTextEdit.User.IsAuthenticated); Assert.AreEqual(Csla.ApplicationContext.User.Identity.Name, newMultiLineTextEdit.Username); } catch { hasError = true; } finally { EnqueueCallback( () => Assert.IsFalse(hasError), () => Assert.IsNotNull(newMultiLineTextEdit) ); EnqueueTestComplete(); Teardown(); isAsyncComplete = true; } }
public LineGroup(int groupNumber, MultiLineTextEdit multiLineText) { Completed = false; MultiLineText = multiLineText; Lines = new List <LineEdit>(); GroupNumber = groupNumber; ResetLastStudied(); History.HistoryPublisher.Ton.SubscribeToEvents(this); }
private async Task InitializeModelAsync() { #region Thinking var thinkId = System.Guid.NewGuid(); History.Events.ThinkingAboutTargetEvent.Publish(thinkId); #endregion var newMultiLineTextEdit = await MultiLineTextEdit.NewMultiLineTextEditAsync(); #region Thinked History.Events.ThinkedAboutTargetEvent.Publish(thinkId); #endregion var songViewModel = Services.Container.GetExportedValue <AddSongMultiLineTextEditViewModel>(); songViewModel.Model = newMultiLineTextEdit; Song = songViewModel; }
private async Task InitializeModelAsync() { var thinkId = System.Guid.NewGuid(); History.Events.ThinkingAboutTargetEvent.Publish(thinkId); DisableNavigationRequestedEventMessage.Publish(); try { var newMultiLineTextEdit = await MultiLineTextEdit.NewMultiLineTextEditAsync(); var songViewModel = Services.Container.GetExportedValue <AddSongMultiLineTextEditViewModel>(); songViewModel.Model = newMultiLineTextEdit; Song = songViewModel; } finally { History.Events.ThinkedAboutTargetEvent.Publish(thinkId); EnableNavigationRequestedEventMessage.Publish(); } }
/// <summary> /// Creates a study item using the line and MLT. /// This prepares the view model so that all that is necessary for the caller is to call /// viewmodel.Show(...); /// </summary> public void Procure(LineEdit line, MultiLineTextEdit multiLineText, AsyncCallback<StudyItemViewModelBase> callback) { //FOR NOW, THIS WILL JUST CREATE ONE OF TWO STUDY ITEM VIEW MODELS: //STUDY LINE ORDER VIEWMODEL (TIMED OR MANUAL). //IT WILL SHOW THE QUESTION AND HIDE THE ANSWER FOR VARIOUS AMOUNTS OF TIME, DEPENDING ON QUESTION //LENGTH, AND OTHER FACTORS. //IN THE FUTURE, THIS WILL BE EXTENSIBILITY POINT WHERE WE CAN SELECT DIFFERENT VARIETIES OF Q AND A //TRANSLATION VIEW MODELS BASED ON HOW SUCCESSFUL THEY ARE. WE CAN ALSO HAVE DIFFERENT CONFIGURATIONS //OF VARIETIES BE SELECTED HERE. var manualViewModel = new StudyLineOrderManualQuestionAnswerViewModel(); var timedViewModel = new StudyLineOrderTimedQuestionAnswerViewModel(); StudyItemViewModelBase dummy = null; var viewModel = RandomPicker.Ton.PickOne<StudyItemViewModelBase>(manualViewModel, timedViewModel, out dummy); if (viewModel is StudyLineOrderManualQuestionAnswerViewModel) manualViewModel.Initialize(line, multiLineText); else timedViewModel.Initialize(line, multiLineText); callback(this, new ResultArgs<StudyItemViewModelBase>(viewModel)); }
public ReviewingLineOrderEvent(LineEdit line, MultiLineTextEdit multiLineText, Guid reviewMethodId) : base(line) { AddReviewMethodId(reviewMethodId); AddDetail(HistoryResources.Key_MultiLineTextId, multiLineText.Id); }
public async Task NEW_EDIT_BEGINSAVE_GET() { MultiLineTextEdit newMultiLineTextEdit = null; MultiLineTextEdit savedMultiLineTextEdit = null; MultiLineTextEdit gottenMultiLineTextEdit = null; string mltTitle = "My Test MLT Title Here"; string lineAText = "MultiLineTextTests.neweditbeginsaveget.Test Line A Text. This is line A in English."; string lineBText = "MultiLineTextTests.neweditbeginsaveget.Test Line BBBB Text. This is line B in English."; //LineEdit lineA = null; //LineEdit lineB = null; bool gottenMultiLineTextLinesCountIsTwo = false; bool gottenMultiLineTextContainsLineA = false; bool gottenMultiLineTextContainsLineB = false; var isAsyncComplete = false; var hasError = false; EnqueueConditional(() => isAsyncComplete); await Setup(); try { //NEW UP THE MULTILINETEXT newMultiLineTextEdit = await MultiLineTextEdit.NewMultiLineTextEditAsync(); //EDIT //TITLE MLT newMultiLineTextEdit.Title = mltTitle; //CREATE LINES IN A LINELIST //1) CREATE LINE INFO DICTIONARY var lineInfoDictionary = new Dictionary <int, string>(); lineInfoDictionary.Add(0, lineAText); lineInfoDictionary.Add(1, lineBText); //2) LANGUAGE TEXT var linesLanguageText = SeedData.Ton.EnglishText; //3) CRITERIA var criteria = new Business.Criteria.LineInfosCriteria(linesLanguageText, lineInfoDictionary); //4) CREATE LINES var lineList = await LineList.NewLineListAsync(criteria); //5) ASSIGN LINES newMultiLineTextEdit.Lines = lineList; savedMultiLineTextEdit = await newMultiLineTextEdit.SaveAsync(); //GET (CONFIRM SAVE) gottenMultiLineTextEdit = await MultiLineTextEdit.GetMultiLineTextEditAsync(savedMultiLineTextEdit.Id); gottenMultiLineTextLinesCountIsTwo = (gottenMultiLineTextEdit.Lines.Count == 2); gottenMultiLineTextContainsLineA = (from line in gottenMultiLineTextEdit.Lines where line.LineNumber == 0 select line).First().Phrase.Text == lineAText; gottenMultiLineTextContainsLineB = (from line in gottenMultiLineTextEdit.Lines where line.LineNumber == 1 select line).First().Phrase.Text == lineBText; } catch { hasError = true; } finally { EnqueueCallback( () => Assert.IsFalse(hasError), () => Assert.IsTrue(gottenMultiLineTextLinesCountIsTwo), () => Assert.IsTrue(gottenMultiLineTextContainsLineA), () => Assert.IsTrue(gottenMultiLineTextContainsLineB), () => Assert.IsNotNull(newMultiLineTextEdit), () => Assert.IsNotNull(savedMultiLineTextEdit), () => Assert.IsNotNull(gottenMultiLineTextEdit), () => Assert.AreEqual(savedMultiLineTextEdit.Id, gottenMultiLineTextEdit.Id) ); EnqueueTestComplete(); Teardown(); isAsyncComplete = true; } }