Beispiel #1
0
		    // ReSharper disable once MemberHidesStaticFromOuterClass
		    public static YesNoQuestion ReadXml(XElement e)
		    {
		        var i = new YesNoQuestion();
		        i.Question = e.Element("Question")?.Value;
		        i.SmallGroup = e.Element("SmallGroup")?.Value ?? i.Question;
		        return i;
		    }
        public IEnumerable <YesNoQuestion> Get(int QuestionId)
        {
            YesNoQuestion        q  = new YesNoQuestion();
            List <YesNoQuestion> ql = q.YNkahoot(QuestionId);

            return(ql);
        }
        public IEnumerable <YesNoQuestion> Get(int courseId, int lessonId)
        {
            YesNoQuestion        a  = new YesNoQuestion();
            List <YesNoQuestion> ql = a.YesNoquestionList(courseId, lessonId);

            return(ql);
        }
Beispiel #4
0
 public bool YesNoChecked(string key, bool value)
 {
     if (YesNoQuestion != null && YesNoQuestion.ContainsKey(key))
     {
         return(YesNoQuestion[key] == value);
     }
     return(false);
 }
Beispiel #5
0
            // ReSharper disable once MemberHidesStaticFromOuterClass
            public static YesNoQuestion ReadXml(XElement e)
            {
                var i = new YesNoQuestion();

                i.Question   = e.Element("Question")?.Value;
                i.SmallGroup = (e.Element("SmallGroup")?.Value ?? i.Question)?.Trim();
                return(i);
            }
 public IActionResult Edit(YesNoQuestion yesNoQuestion)
 {
     if (ModelState.IsValid)
     {
         yesNoQuestionService.UpdateQuestion(yesNoQuestion);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(yesNoQuestion));
 }
Beispiel #7
0
        public void AddQuestion(QuestionDTO questionDTO)
        {
            YesNoQuestion question = new YesNoQuestion();

            question        = questionDTO.YesNoQuestion;
            question.Id     = questionDTO.YesNoQuestion.Id;
            question.PollId = questionDTO.Poll.Id;
            yesNoQuestionDal.Add(question);
        }
Beispiel #8
0
        public new static AskYesNoQuestions ReadXml(XElement e)
        {
            var yn = new AskYesNoQuestions();

            foreach (var ee in e.Elements("YesNoQuestion"))
            {
                yn.list.Add(YesNoQuestion.ReadXml(ee));
            }
            return(yn);
        }
Beispiel #9
0
        public void Execute()
        {
            YesNoQuestion yesNoQuestion = new YesNoQuestion("Do you want to play previous game?");
            YesNoAnswer   answer        = yesNoQuestion.ReadAnswer();

            if (answer.Equals(YesNoAnswer.Yes))
            {
                _loadGameList();
            }
        }
Beispiel #10
0
        private static YesNoAnswer AskQuestion()
        {
            YesNoQuestion yesNoQuestion = new YesNoQuestion("Do you want to continue?")
            {
                AcceptCancel  = true,
                DefaultAnswer = YesNoAnswer.Yes
            };

            return(yesNoQuestion.ReadAnswer());
        }
 public void Post([FromBody] YesNoQuestion q)
 {
     try
     {
         q.insert();
     }
     catch (Exception ex)
     {
         throw new Exception("Error in insert" + ex);
     }
 }
 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}
     });
 }
Beispiel #13
0
 private void ValidateAskYesNoQuestions(Ask ask)
 {
     for (var n = 0; n < ((AskYesNoQuestions)ask).list.Count; n++)
     {
         var a = ((AskYesNoQuestions)ask).list[n];
         if (YesNoQuestion == null || !YesNoQuestion.ContainsKey(a.SmallGroup))
         {
             modelState.AddModelError(Parent.GetNameFor(mm => mm.List[Index].YesNoQuestion[a.SmallGroup]),
                                      "please select yes or no");
         }
     }
 }
Beispiel #14
0
        public new static AskYesNoQuestions ReadXml(XElement e)
        {
            var yn = new AskYesNoQuestions {
                TargetExtraValue = e.Attribute("TargetExtraValue").ToBool(),
            };

            foreach (var ee in e.Elements("YesNoQuestion"))
            {
                yn.list.Add(YesNoQuestion.ReadXml(ee));
            }
            return(yn);
        }
        private void ReadYesNoChoices(XElement e)
        {
            if (YesNoQuestion == null)
            {
                YesNoQuestion = new Dictionary <string, bool?>();
            }
            var ynq = e.Attribute("question");

            if (ynq != null)
            {
                YesNoQuestion.Add(ynq.Value, e.Value.ToBool());
            }
        }
Beispiel #16
0
        private void PromptToAddCandidatesToDictionary(List <string> candidates, IKeyboard originalKeyboard)
        {
            if (candidates.Any())
            {
                var candidate = candidates.First();

                var prompt = candidate.Contains(' ')
                    ? string.Format(Resources.ADD_PHRASE_TO_DICTIONARY_CONFIRMATION_MESSAGE,
                                    candidate, candidate.NormaliseAndRemoveRepeatingCharactersAndHandlePhrases(log: true))
                    : string.Format(Resources.ADD_WORD_TO_DICTIONARY_CONFIRMATION_MESSAGE, candidate);

                if (candidate.Any(char.IsUpper))
                {
                    prompt = string.Concat(prompt, Resources.NEW_DICTIONARY_ENTRY_WILL_CONTAIN_CAPITALS);
                }

                var similarEntries = dictionaryService.GetAllEntries()
                                     .Where(de => string.Equals(de.Entry, candidate, StringComparison.InvariantCultureIgnoreCase))
                                     .Select(de => de.Entry)
                                     .ToList();

                if (similarEntries.Any())
                {
                    string similarEntriesPrompt = string.Format(Resources.SIMILAR_DICTIONARY_ENTRIES_EXIST,
                                                                string.Join(", ", similarEntries.Select(se => string.Format("'{0}'", se))));

                    prompt = string.Concat(prompt, "\n\n", similarEntriesPrompt);
                }

                Action nextAction = candidates.Count > 1
                        ? (Action)(() => PromptToAddCandidatesToDictionary(candidates.Skip(1).ToList(), originalKeyboard))
                        : (Action)(() => Keyboard = originalKeyboard);

                Keyboard = new YesNoQuestion(
                    prompt,
                    () =>
                {
                    dictionaryService.AddNewEntryToDictionary(candidate);
                    inputService.RequestSuspend();

                    RaiseToastNotification(Resources.ADDED, string.Format(Resources.ENTRY_ADDED_TO_DICTIONARY, candidate),
                                           NotificationTypes.Normal, () => { inputService.RequestResume(); });

                    nextAction();
                },
                    () => nextAction());
            }
        }
Beispiel #17
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;
        }
Beispiel #18
0
        private void PromptToAddCandidatesToDictionary(List <string> candidates, IKeyboard originalKeyboard)
        {
            if (candidates.Any())
            {
                var candidate = candidates.First();

                var prompt = candidate.Contains(' ')
                    ? string.Format("Would you like to add the phrase '{0}' to the dictionary with shortcut '{1}'?",
                                    candidate, candidate.CreateDictionaryEntryHash(log: true))
                    : string.Format("Would you like to add the word '{0}' to the dictionary?", candidate);

                if (candidate.Any(Char.IsUpper))
                {
                    prompt = string.Concat(prompt, "\n(The new dictionary entry will contain capital letters)");
                }

                var similarEntries = dictionaryService.GetAllEntries()
                                     .Where(de => string.Equals(de.Entry, candidate, StringComparison.InvariantCultureIgnoreCase))
                                     .Select(de => de.Entry)
                                     .ToList();

                if (similarEntries.Any())
                {
                    string similarEntriesPrompt = string.Format("(FYI some similar entries are already in the dictionary: {0})",
                                                                string.Join(", ", similarEntries.Select(se => string.Format("'{0}'", se))));

                    prompt = string.Concat(prompt, "\n\n", similarEntriesPrompt);
                }

                Action nextAction = candidates.Count > 1
                        ? (Action)(() => PromptToAddCandidatesToDictionary(candidates.Skip(1).ToList(), originalKeyboard))
                        : (Action)(() => Keyboard = originalKeyboard);

                Keyboard = new YesNoQuestion(
                    prompt,
                    () =>
                {
                    dictionaryService.AddNewEntryToDictionary(candidate);
                    inputService.RequestSuspend();
                    nextAction();

                    RaiseToastNotification("Added", string.Format("Great stuff. '{0}' has been added to the dictionary.", candidate),
                                           NotificationTypes.Normal, () => { inputService.RequestResume(); });
                },
                    () => nextAction());
            }
        }
        public static AskYesNoQuestions Parse(Parser parser)
        {
            var ynq = new AskYesNoQuestions();

            parser.lineno++;
            if (parser.curr.indent == 0)
            {
                return(ynq);
            }
            var startindent = parser.curr.indent;

            while (parser.curr.indent == startindent)
            {
                var q = YesNoQuestion.Parse(parser, startindent);
                ynq.list.Add(q);
            }
            return(ynq);
        }
Beispiel #20
0
        public void Execute(CliCommand cliCommand)
        {
            YesNoQuestion yesNoQuestion = new YesNoQuestion("Are you sure?")
            {
                DefaultAnswer = YesNoAnswer.Yes
            };

            YesNoAnswer answer = yesNoQuestion.ReadAnswer();

            if (answer == YesNoAnswer.Yes)
            {
                Program.RequestClose();
            }
            else
            {
                CustomConsole.WriteLine();
            }
        }
Beispiel #21
0
        private void AskCustomerToConfirmReservation()
        {
            string confirmationMessage = reservation.Client + " czy zatwierdzasz swoje zamówienie?";
            string options             = "[TAK/NIE]";

            window.AddTextToConversation(speaker.EmployeeSpeak(confirmationMessage, options));
            YesNoQuestion yesNoQuestion = new YesNoQuestion();
            string        result        = yesNoQuestion.GetAnswer();

            if (result.Equals("Nie"))
            {
                StartReservationAgain();
            }
            else
            {
                ConfirmReservation();
            }
        }
Beispiel #22
0
        private void AskIfMoreTickets()
        {
            string moreTicketsMessage = "Czy życzysz sobie jeszcze jakieś bilety?";
            string options            = "[TAK/NIE]";

            window.AddTextToConversation(speaker.EmployeeSpeak(moreTicketsMessage, options));
            YesNoQuestion yesNoQuestion = new YesNoQuestion();
            string        result        = yesNoQuestion.GetAnswer();

            window.AddTextToConversation(speaker.CustomerSpeak(result));
            if (result.Equals("Tak"))
            {
                AskForTickets();
            }
            else
            {
                reservation.Order = ticketCounter.GetOrderedTickets();
                reservation.Price = ticketCounter.GetTotalCost();
                AskForReservationCorrectness();
            }
        }
Beispiel #23
0
        public void Run()
        {
            while (currentWord.GetLettersRemaining() > 0 && hangingMan.IsDead() == false)
            {
                Console.Clear();
                if (incorrectGuesses.Count > 0)
                {
                    incorrectGuessesControl.UpdateIncorrectGuesses(incorrectGuesses);
                    incorrectGuessesControl.Display();
                }
                hangManControl.Display();
                currentWordControl.ChangeDisplayedWord(currentWord.GetWord());
                currentWordControl.Display();

                // Block awaiting input
                char letter = nextGuessControl.Read();

                // Update the hanging man if answer incorrect
                if (!currentWord.UnmaskLetter(letter))
                {
                    hangingMan.SubtractLife();
                    incorrectGuesses.Add($"{letter}");
                }
            }

            // The game is now over!
            Console.Clear();
            gameOverScreen.Won = !hangingMan.IsDead();
            gameOverScreen.Display();

            if (YesNoQuestion.QuickRead("Play again?", YesNoAnswer.No).HasFlag(YesNoAnswer.Yes))
            {
                incorrectGuesses.Clear();
                incorrectGuessesControl.ResetIncorrectGuesses();
                hangingMan.ResetStickFigure();
                currentWord = new Word(allTheWords.PickRandomWord());
                currentWordControl.ChangeDisplayedWord(currentWord.GetWord());
                Run();
            }
        }
Beispiel #24
0
 public void StartReservation()
 {
     try
     {
         window.ShowStopButton();
         string welcomeMessage = "Dzień dobry, czy chcesz złożyć zamówienie?";
         string options        = "[TAK/NIE]";
         window.AddTextToConversation(speaker.EmployeeSpeak(welcomeMessage, options));
         YesNoQuestion yesNoQuestion = new YesNoQuestion();
         string        result        = yesNoQuestion.GetAnswer();
         window.AddTextToConversation(speaker.CustomerSpeak(result));
         if (result.Equals("Tak"))
         {
             AskForSpectacleName();
         }
         else
         {
             speaker.SayGoodbye();
             window.ClearConversation();
             AskForStart();
         }
     } catch (ThreadInterruptedException thr) { }
 }
Beispiel #25
0
        public void AskToProceed()
        {
            if (App.Context.IsUserAuthenticated)
            {
                var request = new YesNoQuestion
                {
                    YesNoCallback = async(ok) =>
                    {
                        if (ok)
                        {
                            await SaveSettingAndLogOut();
                        }
                    },
                    Question = "Ứng dụng sẽ đăng xuất bạn để lưu sự thay đổi. Bạn có muốn tiếp tục?"
                };

                _confirmSave.Raise(request);
            }
            else
            {
                SaveSetting();
                _commonService.ShowToast("Lưu thành công.");
            }
        }
Beispiel #26
0
        private void AskForReservationCorrectness()
        {
            string correctnessMessage = "Czy wyświetlone zamówienie się zgadza?";
            string options            = "[TAK/NIE]";
            string order = "========================\n" + "=====  ZAMÓWIENIE  =====\n" + "========================\n"
                           + "Spektakl: " + reservation.Spectacle.Name
                           + "\nData: " + reservation.Day + ", godz. " + reservation.Time
                           + "\nBilety: " + reservation.Order
                           + "\nŁączny koszt: " + reservation.Price + " złotych";

            window.AddTextToConversation(order);
            window.AddTextToConversation(speaker.EmployeeSpeak(correctnessMessage, options));
            YesNoQuestion yesNoQuestion = new YesNoQuestion();
            string        result        = yesNoQuestion.GetAnswer();

            if (result.Equals("Nie"))
            {
                StartReservationAgain();
            }
            else
            {
                AskForCustomerName();
            }
        }
            public static YesNoQuestion Parse(Parser parser, int startindent)
            {
                var q = new YesNoQuestion();

                if (parser.curr.kw != Parser.RegKeywords.None)
                {
                    throw parser.GetException("unexpected line");
                }
                q.Question = parser.GetLine();
                if (parser.curr.indent <= startindent)
                {
                    throw parser.GetException("Expected SmallGroup indented");
                }
                if (parser.curr.kw != Parser.RegKeywords.SmallGroup)
                {
                    throw parser.GetException("Expected SmallGroup keyword");
                }
                if (!parser.curr.value.HasValue())
                {
                    throw parser.GetException("Expected SmallGroup value");
                }
                q.SmallGroup = parser.GetString();
                return(q);
            }
Beispiel #28
0
 public void UpdateQuestion(YesNoQuestion yesNoQuestion)
 {
     throw new NotImplementedException();
 }
Beispiel #29
0
        internal static void CheckSelfUpdate()
        {
            var spinner = new CustomSpinner("Checking for update");

            using var client = new WebClient();
            client.Headers.Add("user-agent", Program.UserAgent);

            string json;

            try {
                json = client.DownloadString(ApiUrl);
            }
            catch (WebException e) {
                CustomConsole.WriteError(
                    $"{e.Message}{Environment.NewLine}Please make sure you have a functioning internet connection.");

                Environment.Exit(1);
                return;
            }

            var remoteVersion = new Version(
                json.Split(new[] { "," }, StringSplitOptions.None)
                .First(s => s.Contains("tag_name"))
                .Split(':')[1]
                .Trim('"', ' ', 'v'));

            spinner.Dispose();
            if (remoteVersion.CompareTo(Assembly.GetExecutingAssembly().GetName().Version) <= 0)
            {
                Console.WriteLine("tldr-sharp is up to date!");
                return;
            }

            if (Environment.OSVersion.Platform == PlatformID.Unix)
            {
                var updateQuestion =
                    new YesNoQuestion($"Version {remoteVersion} is available. Do you want to update?")
                {
                    DefaultAnswer           = YesNoAnswer.No,
                    ForegroundColor         = null,
                    QuestionForegroundColor = null,
                    BackgroundColor         = null,
                    QuestionBackgroundColor = null
                };

                if (updateQuestion.ReadAnswer() != YesNoAnswer.Yes)
                {
                    return;
                }

                Console.WriteLine("Select desired method:");
                Console.WriteLine("0\tDebian package (.deb)");
                Console.WriteLine("1\tRPM package (.rpm)");
                Console.WriteLine("2\tinstall script (.sh)");

                string option;
                int    optionNb;
                do
                {
                    Console.Write("Enter number 0..2: ");
                    option = Console.ReadLine();
                } while (!int.TryParse(option, out optionNb) || optionNb > 3 || optionNb < 0);

                Console.WriteLine();

                switch (optionNb)
                {
                case 0:
                    SelfUpdate(UpdateType.Debian, remoteVersion);
                    break;

                case 1:
                    SelfUpdate(UpdateType.Rpm, remoteVersion);
                    break;

                case 2:
                    SelfUpdate(UpdateType.Script, remoteVersion);
                    break;
                }
            }
            else
            {
                Console.WriteLine("Version {0} is available. Download it from {1}", remoteVersion,
                                  "https://github.com/principis/tldr-sharp/releases/");
            }
        }
Beispiel #30
0
        public void ReadXml(XmlReader reader)
        {
            var s = reader.ReadOuterXml();
            var x = XDocument.Parse(s);

            if (x.Root == null)
            {
                return;
            }

            var eqset   = 0;
            var menuset = 0;

            foreach (var e in x.Root.Elements())
            {
                var name = e.Name.ToString();
                switch (name)
                {
                case "FundItem":
                    if (FundItem == null)
                    {
                        FundItem = new Dictionary <int, decimal?>();
                    }
                    var fu = e.Attribute("fund");
                    if (fu != null)
                    {
                        FundItem.Add(fu.Value.ToInt(), e.Value.ToDecimal());
                    }
                    break;

                case "FamilyAttend":
                    var fa = new FamilyAttendInfo();
                    fa.PeopleId  = GetAttr(e, "PeopleId").ToInt2();
                    fa.Attend    = GetAttr(e, "Attend").ToBool();
                    fa.Name      = GetAttr(e, "Name");
                    fa.Birthday  = GetAttr(e, "Birthday");
                    fa.Email     = GetAttr(e, "Email");
                    fa.MaritalId = GetAttr(e, "MaritalId").ToInt2();
                    fa.GenderId  = GetAttr(e, "GenderId").ToInt2();
                    if (FamilyAttend == null)
                    {
                        FamilyAttend = new List <FamilyAttendInfo>();
                    }
                    FamilyAttend.Add(fa);
                    break;

                case "ExtraQuestion":
                    if (ExtraQuestion == null)
                    {
                        ExtraQuestion = new List <Dictionary <string, string> >();
                    }
                    var eqsetattr = e.Attribute("set");
                    if (eqsetattr != null)
                    {
                        eqset = eqsetattr.Value.ToInt();
                    }
                    if (ExtraQuestion.Count == eqset)
                    {
                        ExtraQuestion.Add(new Dictionary <string, string>());
                    }
                    var eq = e.Attribute("question");
                    if (eq != null)
                    {
                        ExtraQuestion[eqset].Add(eq.Value, e.Value);
                    }
                    break;

                case "YesNoQuestion":
                    if (YesNoQuestion == null)
                    {
                        YesNoQuestion = new Dictionary <string, bool?>();
                    }
                    var ynq = e.Attribute("question");
                    if (ynq != null)
                    {
                        YesNoQuestion.Add(ynq.Value, e.Value.ToBool());
                    }
                    break;

                case "option":
                    if (option == null)
                    {
                        option = new List <string>();
                    }
                    option.Add(e.Value);
                    break;

                case "Checkbox":
                    if (Checkbox == null)
                    {
                        Checkbox = new List <string>();
                    }
                    Checkbox.Add(e.Value);
                    break;

                case "MenuItem":
                    if (MenuItem == null)
                    {
                        MenuItem = new List <Dictionary <string, int?> >();
                    }
                    var menusetattr = e.Attribute("set");
                    if (menusetattr != null)
                    {
                        menuset = menusetattr.Value.ToInt();
                    }
                    if (MenuItem.Count == menuset)
                    {
                        MenuItem.Add(new Dictionary <string, int?>());
                    }
                    var aname  = e.Attribute("name");
                    var number = e.Attribute("number");
                    if (aname != null && number != null)
                    {
                        MenuItem[menuset].Add(aname.Value, number.Value.ToInt());
                    }
                    break;

                case "MissionTripPray":
                    MissionTripPray = e.Value.ToBool();
                    break;

                case "MissionTripGoerId":
                    MissionTripGoerId = e.Value.ToInt();
                    break;

                case "CreatingAccount":
                    CreatingAccount = e.Value.ToBool();
                    break;

                default:
                    Util.SetPropertyFromText(this, TranslateName(name), e.Value);
                    break;
                }
            }
        }
Beispiel #31
0
        public string PrepareSummaryText(Transaction ti)
        {
            var om = GetOrgMember();
            var sb = new StringBuilder();

            sb.Append("<table>");
            sb.AppendFormat("<tr><td width='50%'>Org:</td><td width='50%'>{0}</td></tr>\n", org.OrganizationName);
            sb.AppendFormat("<tr><td>First:</td><td>{0}</td></tr>\n", person.PreferredName);
            sb.AppendFormat("<tr><td>Last:</td><td>{0}</td></tr>\n", person.LastName);

            if (ti.Amt > 0 && om != null)
            {
                //var omemb = new OrgMemberModel(om.OrganizationId, om.PeopleId);
                var ts = om.TransactionSummary(DbUtil.Db);
                if (ts != null)
                {
                    sb.AppendFormat(@"
<tr><td colspan='2'> 
<table cellpadding=4>
    <tr>
        <td>Registrant Fee</td>
        <td>Amount Paid</td>
        <td>Amount Due</td>
    </tr>
    <tr>
        <td align='right'>{0}</td>
        <td align='right'>{1}</td>
        <td align='right'>{2}</td>
    </tr>
</table>
</td></tr>
    ", ts.IndAmt.ToString2("c"),
                                    om.TotalPaid(DbUtil.Db).ToString("c"),
                                    om.AmountDue(DbUtil.Db).ToString("c"));
                }
            }

            if (Parent.SupportMissionTrip)
            {
                var goer = DbUtil.Db.LoadPersonById(MissionTripGoerId ?? 0);
                if (goer != null)
                {
                    sb.AppendFormat("<tr><td>Support Mission Trip for:</td><td>{0}</td></tr>\n", goer.Name);
                }
                if (MissionTripSupportGeneral > 0)
                {
                    sb.Append("<tr><td>Support Mission Trip:</td><td>Any other participiants</td></tr>\n");
                }
            }
            else if (RecordFamilyAttendance())
            {
                foreach (var m in FamilyAttend.Where(m => m.Attend))
                {
                    if (m.PeopleId != null)
                    {
                        sb.Append("<tr><td colspan=\"2\">{0}{1}</td></tr>\n"
                                  .Fmt(m.Name, (m.Age.HasValue ? " ({0})".Fmt(m.Age) : "")));
                    }
                    else
                    {
                        sb.Append("<tr><td colspan=\"2\">{0}{1}".Fmt(m.Name, (m.Age.HasValue ? " ({0})".Fmt(m.Age) : "")));
                        if (m.Email.HasValue())
                        {
                            sb.Append(", {0}".Fmt(m.Email));
                        }
                        if (m.Birthday.HasValue())
                        {
                            sb.Append(", {0}".Fmt(m.Birthday));
                        }
                        if (m.MaritalId.HasValue)
                        {
                            sb.Append(", {0}".Fmt(m.Marital));
                        }
                        if (m.GenderId.HasValue)
                        {
                            sb.Append(", {0}".Fmt(m.Gender));
                        }
                        sb.Append("</td></tr>\n");
                    }
                }
            }
            else
            {
                var rr = person.RecRegs.Single();

                foreach (var ask in setting.AskItems)
                {
                    switch (ask.Type)
                    {
                    case "AskTickets":
                        sb.AppendFormat("<tr><td>Tickets:</td><td>{0}</td></tr>\n", om.Tickets);
                        break;

                    case "AskSize":
                        sb.AppendFormat("<tr><td>Shirt:</td><td>{0}</td></tr>\n", om.ShirtSize);
                        break;

                    case "AskEmContact":
                        sb.AppendFormat("<tr><td>Emerg Contact:</td><td>{0}</td></tr>\n", rr.Emcontact);
                        sb.AppendFormat("<tr><td>Emerg Phone:</td><td>{0}</td></tr>\n", rr.Emphone);
                        break;

                    case "AskDoctor":
                        sb.AppendFormat("<tr><td>Physician Name:</td><td>{0}</td></tr>\n", rr.Doctor);
                        sb.AppendFormat("<tr><td>Physician Phone:</td><td>{0}</td></tr>\n", rr.Docphone);
                        break;

                    case "AskInsurance":
                        sb.AppendFormat("<tr><td>Insurance Carrier:</td><td>{0}</td></tr>\n", rr.Insurance);
                        sb.AppendFormat("<tr><td>Insurance Policy:</td><td>{0}</td></tr>\n", rr.Policy);
                        break;

                    case "AskRequest":
                        sb.AppendFormat("<tr><td>{1}:</td><td>{0}</td></tr>\n", om.Request, ((AskRequest)ask).Label);
                        break;

                    case "AskHeader":
                        sb.AppendFormat("<tr><td colspan='2'><h4>{0}</h4></td></tr>\n", ((AskHeader)ask).Label);
                        break;

                    case "AskInstruction":
                        break;

                    case "AskAllergies":
                        sb.AppendFormat("<tr><td>Medical:</td><td>{0}</td></tr>\n", rr.MedicalDescription);
                        break;

                    case "AskTylenolEtc":
                        sb.AppendFormat("<tr><td>Tylenol?: {0},", tylenol == true ? "Yes" : tylenol == false ? "No" : "");
                        sb.AppendFormat(" Advil?: {0},", advil == true ? "Yes" : advil == false ? "No" : "");
                        sb.AppendFormat(" Robitussin?: {0},", robitussin == true ? "Yes" : robitussin == false ? "No" : "");
                        sb.AppendFormat(" Maalox?: {0}</td></tr>\n", maalox == true ? "Yes" : maalox == false ? "No" : "");
                        break;

                    case "AskChurch":
                        sb.AppendFormat("<tr><td>Member:</td><td>{0}</td></tr>\n", rr.Member);
                        sb.AppendFormat("<tr><td>OtherChurch:</td><td>{0}</td></tr>\n", rr.ActiveInAnotherChurch);
                        break;

                    case "AskParents":
                        sb.AppendFormat("<tr><td>Mother's name:</td><td>{0}</td></tr>\n", rr.Mname);
                        sb.AppendFormat("<tr><td>Father's name:</td><td>{0}</td></tr>\n", rr.Fname);
                        break;

                    case "AskCoaching":
                        sb.AppendFormat("<tr><td>Coaching:</td><td>{0}</td></tr>\n", rr.Coaching);
                        break;

                    case "AskSMS":
                        sb.AppendFormat("<tr><td>Receive Texts:</td><td>{0}</td></tr>\n", person.ReceiveSMS);
                        break;

                    case "AskDropdown":
                        sb.AppendFormat("<tr><td>{1}:</td><td>{0}</td></tr>\n", ((AskDropdown)ask).SmallGroupChoice(option).Description,
                                        Util.PickFirst(((AskDropdown)ask).Label, "Options"));
                        break;

                    case "AskMenu":
                    {
                        var menulabel = ((AskMenu)ask).Label;
                        foreach (var i in ((AskMenu)ask).MenuItemsChosen(MenuItem[ask.UniqueId]))
                        {
                            string row;
                            if (i.amt > 0)
                            {
                                row = "<tr><td>{0}</td><td>{1} {2} (at {3:N2})</td></tr>\n".Fmt(menulabel, i.number, i.desc, i.amt);
                            }
                            else
                            {
                                row = "<tr><td>{0}</td><td>{1} {2}</td></tr>\n".Fmt(menulabel, i.number, i.desc);
                            }
                            sb.AppendFormat(row);
                            menulabel = string.Empty;
                        }
                    }
                    break;

                    case "AskCheckboxes":
                    {
                        var askcb     = (AskCheckboxes)ask;
                        var menulabel = askcb.Label;
                        foreach (var i in askcb.CheckboxItemsChosen(Checkbox))
                        {
                            string row;
                            if (menulabel.HasValue())
                            {
                                sb.Append("<tr><td colspan='2'><br>{0}</td></tr>\n".Fmt(menulabel));
                            }
                            if (i.Fee > 0)
                            {
                                row = "<tr><td></td><td>{0} (${1:N2})<br>({2})</td></tr>\n".Fmt(i.Description, i.Fee, i.SmallGroup);
                            }
                            else
                            {
                                row = "<tr><td></td><td>{0}<br>({1})</td></tr>\n".Fmt(i.Description, i.SmallGroup);
                            }
                            sb.Append(row);
                            menulabel = string.Empty;
                        }
                    }
                    break;

                    case "AskYesNoQuestions":
                        foreach (var a in ((AskYesNoQuestions)ask).list)
                        {
                            if (YesNoQuestion.ContainsKey(a.SmallGroup))
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Question,
                                                                                           YesNoQuestion[a.SmallGroup] == true ? "Yes" : "No"));
                            }
                        }
                        break;

                    case "AskExtraQuestions":
                        foreach (var a in ExtraQuestion[ask.UniqueId])
                        {
                            if (a.Value.HasValue())
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Key, a.Value));
                            }
                        }
                        break;

                    case "AskText":
                        foreach (var a in Text[ask.UniqueId])
                        {
                            if (a.Value.HasValue())
                            {
                                sb.AppendFormat("<tr><td>{0}:</td><td>{1}</td></tr>\n".Fmt(a.Key, a.Value));
                            }
                        }
                        break;

                    case "AskGradeOptions":
                        sb.AppendFormat("<tr><td>GradeOption:</td><td>{0}</td></tr>\n",
                                        GradeOptions(ask).SingleOrDefault(s => s.Value == (gradeoption ?? "00")).Text);
                        break;
                    }
                }
                if (setting.AgeGroups.Count > 0)
                {
                    sb.AppendFormat("<tr><td>AgeGroup:</td><td>{0}</td></tr>\n", AgeGroup());
                }
            }

            sb.Append("</table>");

            return(sb.ToString());
        }
Beispiel #32
0
 public static YesNoQuestion Parse(Parser parser, int startindent)
 {
     var q = new YesNoQuestion();
     if (parser.curr.kw != Parser.RegKeywords.None)
         throw parser.GetException("unexpected line");
     q.Question = parser.GetLine();
     if (parser.curr.indent <= startindent)
         throw parser.GetException("Expected SmallGroup indented");
     if (parser.curr.kw != Parser.RegKeywords.SmallGroup)
         throw parser.GetException("Expected SmallGroup keyword");
     if (!parser.curr.value.HasValue())
         throw parser.GetException("Expected SmallGroup value");
     q.SmallGroup = parser.GetString();
     return q;
 }
Beispiel #33
0
        private static YesNoAnswer AskQuestion()
        {
            YesNoQuestion yesNoQuestion = new YesNoQuestion("Do you want to continue?");

            return(yesNoQuestion.ReadAnswer());
        }
Beispiel #34
0
        private void HandleQuesiton()
        {
            if (question == null)
            {
                UnknownQuestion?.Invoke(this, new UnknownEventArgs("NONE", "No Question Given"));
            }

            string localQuestion = string.Empty;
            string awnser        = string.Empty;

            for (int i = 0; i < question.Count; i++)
            {
                localQuestion += $"{question[i]} ";
            }

            if (timesQuestionAsked >= frustationThreshold && frustationThreshold != 0)
            {
                Frustrated?.Invoke(this, new FrustrationEventArgs(localQuestion));
                return;
            }

            if (IsKnowEverythinQuestion())
            {
                KnowEverythingAsked?.Invoke(this, new KnowEverythingArgs(localQuestion));
            }
            else if (IsAbout())
            {
                awnser = aboutAwnser;
            }
            else if (IsRemember())
            {
                awnser = Remember();
                RememberSomething?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser));
            }
            else if (IsYesNo())
            {
                awnser = AwnserYesNo();
                YesNoQuestion?.Invoke(this, new YesNoEventArgs(localQuestion, awnser));
            }
            else if (IsChoice())
            {
                string[] choices = GetChoices();
                awnser = AwnserChoice(choices);
                ChoiceAwnsered?.Invoke(this, new ChoiceEventArgs(localQuestion, awnser, choices));
            }
            else if (IsFavorite())
            {
                awnser = FavoriteQuestion();
                FavoriteAwnsered?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser));
            }
            else if (IsEncode())
            {
                localQuestion = localQuestion.Remove(0, 7);
                EncodedMessage?.Invoke(this, new EncodingEventArgs(localQuestion));
                return;
            }
            else if (IsInsult())
            {
                Insulted?.Invoke(this, new InsultEventArgs());
            }
            else
            {
                UnknownQuestion?.Invoke(this, new UnknownEventArgs(localQuestion));
            }

            QuestionAwnsered?.Invoke(this, new QuestionAwnseredEventArgs(localQuestion, awnser));
        }