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;
            }
        }
Пример #4
0
 public LineGroup(int groupNumber, MultiLineTextEdit multiLineText)
 {
     Completed     = false;
     MultiLineText = multiLineText;
     Lines         = new List <LineEdit>();
     GroupNumber   = groupNumber;
     ResetLastStudied();
     History.HistoryPublisher.Ton.SubscribeToEvents(this);
 }
Пример #5
0
        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;
        }
Пример #6
0
        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));
        }
    //private ExceptionCheckCallback _CompletedCallback { get; set; }


    #endregion

    #region Methods

    public void Initialize(LineEdit line, MultiLineTextEdit multiLineText)
    {
      HideAnswer();
      Line = line;
      MultiLineText = multiLineText;
      PopulateQuestionAndAnswer();
    }
Пример #9
0
 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;
            }
        }
 public ReviewingLineOrderEvent(LineEdit line, MultiLineTextEdit multiLineText, Guid reviewMethodId)
     : base(line)
 {
     AddReviewMethodId(reviewMethodId);
       AddDetail(HistoryResources.Key_MultiLineTextId, multiLineText.Id);
 }