Ejemplo n.º 1
0
        public void Setup()
        {
            SetupParentYesNo(
                nameof(ArrivalDateQuestion),
                Content.ArrivalDateQuestion_Title,
                Content.ArrivalDateQuestion_Label, new List <AnswerPotential>
            {
                new AnswerPotential {
                    Value = "1", Description = Content.ArrivalDateQuestion_Yes_Description
                },
                new AnswerPotential {
                    Value = "2", Description = Content.ArrivalDateQuestion_No_Description
                }
            }, new Validator
            {
                InValidErrorMessage = Content.ArrivalDateQuestion_InvalidErrorMessage,
                NullErrorMessage    = Content.ArrivalDateQuestion_NullErrorMessage,
                ValidatorType       = ValidatorType.DateTimeHistorical,
                AllowNull           = true,
            });

            var dateTimeQuestion = new DateTimeQuestion(
                nameof(ArrivalDateQuestion),
                Content.ArrivalDateQuestion_Date_Title,
                Content.ArrivalDateQuestion_Date_Label, new Validator {
                ValidatorType = ValidatorType.None
            });

            SetupDateQuestion(dateTimeQuestion);
        }
 public void Setup()
 {
     _question = Question.ForAnswer<EndResultModel, Choices?>(x => x.MyChoice);
     _birthdayQuestion = Question.ForAnswer<EndResultModel>(x => x.Birthday);
     _likesBlueQuestion = Question.ForAnswer<EndResultModel>(x => x.LikesBlue);
     _question.SetExtraQuestions(new Dictionary<Choices, Question>
     {
         {Choices.One, _birthdayQuestion},
         {Choices.Three, _likesBlueQuestion}
     });
 }
Ejemplo n.º 3
0
        public object MapItem(List <IDomainInfoViewModels> list, object Tmodel)
        {
            try
            {
                Type myType = Tmodel.GetType();

                IList <PropertyInfo> props = new List <PropertyInfo>(myType.GetProperties());
                foreach (var domainItem in list)
                {
                    foreach (PropertyInfo property in props)
                    {
                        if (domainItem.DomainInformation.PropertyMapping == property.Name)
                        {
                            switch (domainItem.DomainType.TypeName)
                            {
                            case "StringType":
                                TextQuestion txtQuestion = (TextQuestion)domainItem.Question;
                                property.SetValue(Tmodel, txtQuestion.Value);
                                break;

                            case "BoolType":
                                BoolQuestion boolQuestion = (BoolQuestion)domainItem.Question;
                                property.SetValue(Tmodel, boolQuestion.Value);
                                break;

                            case "IntType":
                                IntQuestion intQuestion = (IntQuestion)domainItem.Question;
                                property.SetValue(Tmodel, intQuestion.Value);
                                break;

                            case "DateTimeType":
                                DateTimeQuestion dateTimeQuestion = (DateTimeQuestion)domainItem.Question;
                                property.SetValue(Tmodel, dateTimeQuestion.Value);
                                break;

                            case "DropdownType":
                                DropdownQuestion dropDownQuestion = (DropdownQuestion)domainItem.Question;
                                property.SetValue(Tmodel, dropDownQuestion.Value);
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)

            {
                var x = ex.Message;
            }


            return(Tmodel);
        }
Ejemplo n.º 4
0
        public void Setup()
        {
            likesBlueQuestion = Question.ForAnswer<EndResultModel>(x => x.LikesBlue);
            likesGreenQuestion = Question.ForAnswer<EndResultModel>(x => x.LikesGreen);
            likesRedQuestion = Question.ForAnswer<EndResultModel>(x => x.LikesRed);
            birthdayQuestion = Question.ForAnswer<EndResultModel>(x => x.Birthday);

            likesBlueQuestion
                .OnYes(
                    x => birthdayQuestion.OnNext(
                        b => likesGreenQuestion.OnYes(
                            m => likesRedQuestion))
                );

            theQuestion = likesBlueQuestion;
        }
        public async Task <DomainViewModel> GetQuestionSet(int groupId)
        {
            DomainViewModel model = new DomainViewModel();

            var selectedDomainGroup = await _groupRepo.GetAsync(groupId);

            model.DomainGroup = selectedDomainGroup;

            var SelectedDomainInformation = await _informationRepo.GetAllByGroupIdAsync(selectedDomainGroup.Id);

            List <IDomainInfoViewModels> domainInfoViewModel = new List <IDomainInfoViewModels>();


            foreach (var domainInformation in SelectedDomainInformation)
            {
                DomainInfoViewModel infoModel = new DomainInfoViewModel
                {
                    DomainInformation = domainInformation,
                    DomainType        = await _typeRepo.GetAsync(domainInformation.TypeId),
                };

                if (infoModel.DomainType.TypeName == CustomType.StringType.ToString())
                {
                    IQuestion textQuestion = new TextQuestion
                    {
                        Text          = infoModel.DomainInformation.Title,
                        Order         = infoModel.DomainInformation.Order,
                        HasValidation = infoModel.DomainInformation.HasValidation
                    };
                    infoModel.Question = textQuestion;
                }
                else if (infoModel.DomainType.TypeName == CustomType.BoolType.ToString())
                {
                    IQuestion boolQuestion = new BoolQuestion
                    {
                        Text          = infoModel.DomainInformation.Title,
                        Order         = infoModel.DomainInformation.Order,
                        HasValidation = infoModel.DomainInformation.HasValidation
                    };
                    infoModel.Question = boolQuestion;
                }
                else if (infoModel.DomainType.TypeName == CustomType.IntType.ToString())
                {
                    IQuestion intQuestion = new IntQuestion
                    {
                        Text          = infoModel.DomainInformation.Title,
                        Order         = infoModel.DomainInformation.Order,
                        HasValidation = infoModel.DomainInformation.HasValidation
                    };
                    infoModel.Question = intQuestion;
                }
                else if (infoModel.DomainType.TypeName == CustomType.DateTimeType.ToString())
                {
                    IQuestion dateTimeQuestion = new DateTimeQuestion
                    {
                        Text          = infoModel.DomainInformation.Title,
                        Order         = infoModel.DomainInformation.Order,
                        HasValidation = infoModel.DomainInformation.HasValidation
                    };
                    infoModel.Question = dateTimeQuestion;
                }
                else if (infoModel.DomainType.TypeName == CustomType.DropdownType.ToString())
                {
                    IQuestion dropdownQuestion = new DropdownQuestion
                    {
                        Text          = infoModel.DomainInformation.Title,
                        Order         = infoModel.DomainInformation.Order,
                        HasValidation = infoModel.DomainInformation.HasValidation,
                        Values        = infoModel.DomainInformation.Arguments.Split(',').ToList()
                    };
                    infoModel.Question = dropdownQuestion;
                }

                domainInfoViewModel.Add(infoModel);
            }

            model.DomainInfoViewModels = domainInfoViewModel;


            return(model);
        }