public IAsyncResult BeginGetQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate, AsyncCallback callback, object asyncState)
        {
            var result = new AsyncResult<QuestionnaireTemplateSummary>(callback, asyncState);
            HandleBeginGetQuestionnaireTemplateSummary(result);

            return result;
        }
Exemple #2
0
        public Questionnaire(QuestionnaireTemplate template)
        {
            this.Template = template;

            foreach (var question in this.Template.Questions.Select(qt => qt.CreateNewQuestion()))
            {
                this.Questions.Add(question);
            }
        }
Exemple #3
0
        public Questionnaire(QuestionnaireTemplate template)
        {
            this.Template = template;

            foreach (var question in this.Template.Questions.Select(qt => qt.CreateNewQuestion()))
            {
                this.Questions.Add(question);
            }
        }
Exemple #4
0
        public IAsyncResult BeginGetQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate, AsyncCallback callback, object userState)
        {
            var asyncResult = new AsyncResult<QuestionnaireTemplateSummary>(callback, userState);
            ThreadPool.QueueUserWorkItem(
                o =>
                {
                    Thread.Sleep(1500);
                    asyncResult.SetComplete(CreateQuestionnaireTemplateSummary(questionnaireTemplate), false);
                });

            return asyncResult;
        }
        public void WhenExecutingTheTakeSurveyCommand_ThenRequestsTransitionToQuestionnaireView()
        {
            var repository = new Mock<IQuestionnaireRepository>();
            repository
                .Setup(r => r.GetQuestionnaireTemplatesAsync(It.IsAny<Action<IOperationResult<IEnumerable<QuestionnaireTemplate>>>>()));


            QuestionnaireTemplate templateRequested = null;
            var uiServiceMock = new Mock<ISingleViewUIService>();
            uiServiceMock
                .Setup(svc => svc.ShowView(ViewNames.CompleteQuestionnaire, It.IsAny<QuestionnaireTemplate>()))
                .Callback<string, QuestionnaireTemplate>((vn, qt) => templateRequested = qt);

            var template = new QuestionnaireTemplate();

            var templateViewModel =
                new AvailableQuestionnaireTemplatesListViewModel(repository.Object, uiServiceMock.Object);

            templateViewModel.TakeSurveyCommand.Execute(template);

            Assert.AreSame(template, templateRequested);
        }
        public void GetQuestionnaireTemplateSummaryAsync(QuestionnaireTemplate questionnaireTemplate, Action<IOperationResult<QuestionnaireTemplateSummary>> callback)
        {
            this.service.BeginGetQuestionnaireTemplateSummary(
                questionnaireTemplate,
                (ar) =>
                {
                    var operationResult = new OperationResult<QuestionnaireTemplateSummary>();

                    try
                    {
                        operationResult.Result = this.service.EndGetQuestionnaireTemplateSummary(ar);
                    }
                    catch (Exception ex)
                    {
                        operationResult.Error = ex;
                    }

                    synchronizationContext.Post(
                        (state) =>
                        {
                            callback(operationResult);
                        },
                        null);
                },
                null);
        }
 private void TakeSurvey(QuestionnaireTemplate questionnaireTemplate)
 {
     // Asks the UI service to go to the "complete questionnaire" view, providing the selected template as
     // the context for the view.
     this.uiService.ShowView(ViewNames.CompleteQuestionnaire, questionnaireTemplate);
 }
Exemple #8
0
        private static QuestionnaireTemplateSummary CreateQuestionnaireTemplateSummary(QuestionnaireTemplate questionnaireTemplate)
        {
            var summary =
                new QuestionnaireTemplateSummary
                {
                    Title = questionnaireTemplate.Title,
                    Description = "Description",
                    EstimatedTime = questionnaireTemplate.Questions.Count * 2.5f,
                    NumberOfQuestions = questionnaireTemplate.Questions.Count,
                    TimesTaken = 0
                };

            return summary;
        }