public ActionResult Index(FizzBuzz_model fizzBuzz_Model) { ViewBag.pattern = String.Empty; ViewBag.FizzBuzz = String.Empty; /* * вот тут существуют ещё не понятки по проверкам, а точнее почему не перехватываются мной созданые условия и берутся ошибки по умолчанию, проявлется это в англ тексте что слегка * не красиво получается */ // if (fizzBuzz_Model.divider1.HasValue && fizzBuzz_Model.divider2.HasValue) { if (fizzBuzz_Model.divider1 < 2) { ModelState.AddModelError("divider1", "Число больше 1"); } if (!FizzBuzzTools.PrimeNumber(fizzBuzz_Model.divider1)) { ModelState.AddModelError("divider1", "Число не простое"); } if (!FizzBuzzTools.PrimeNumber(fizzBuzz_Model.divider2)) { ModelState.AddModelError("divider2", "Число не простое"); } } if (ModelState.IsValid) { ViewBag.pattern = FizzBuzzTools.FizzBuzzPatternString(fizzBuzz_Model.start, fizzBuzz_Model.end, fizzBuzz_Model.divider1, fizzBuzz_Model.divider2); ViewBag.FizzBuzz = FizzBuzzTools.FizzBuzzLstString(fizzBuzz_Model.start, fizzBuzz_Model.end, fizzBuzz_Model.divider1, fizzBuzz_Model.divider2, 40); } return(View(fizzBuzz_Model)); }
static void GetDividerFromUser(string mark, out uint divider, int end, uint min = 1) { bool check = false; int clear = 0; divider = 0; do { ClearLine(clear); if (clear == 0) { Console.Write("Enter {0} >{1} and <{2} (must be prime number):", mark, min, Math.Abs(end)); } else { Console.Write("Enter {0} >{2} (must be prime number, {1} not prime or <={2} or >{3}):", mark, divider, min, Math.Abs(end)); } clear = 1; while (!uint.TryParse(Console.ReadLine(), out divider)) { ClearLine(clear); Console.Write("Enter {0} >{2} (must be prime number, {1} not prime or <={2} or >{3}):", mark, divider, min, Math.Abs(end)); } if (divider != min) { check = FizzBuzzTools.PrimeNumber(divider); } if (divider > Math.Abs(end)) { check = false; } } while (!check); }