public ActionResult Index() { var variants = new List <SelectListItem>(); for (int i = 1; i < 26; i++) { variants.Add(new SelectListItem { Text = EnumValuesParser.GetVariantModel(i).Caption, Value = i.ToString() }); } ViewBag.Variants = variants; var model = new InputViewModel { Variant = 1, InputType = true, ManualInput = new InputModel(), OutputSize = 190 }; return(View(model)); }
public JsonResult InputData(InputViewModel model) { if (model.InputType) { var variant = EnumValuesParser.GetVariantModel(model.Variant); Data = new InputModel { A = variant.A, C = variant.C, M = variant.M, X0 = variant.X0 }; } else { if (model.ManualInput.A >= model.ManualInput.M || model.ManualInput.C >= model.ManualInput.M || model.ManualInput.X0 >= model.ManualInput.M) { return(Json(new { Success = false, ErrorMessage = "Incorrect input data." }, JsonRequestBehavior.AllowGet)); } Data = new InputModel { A = model.ManualInput.A, C = model.ManualInput.C, M = model.ManualInput.M, X0 = model.ManualInput.X0 }; } PageSize = model.OutputSize; GeneratingResults = GeneratorService.GenerateSequence(Data); return(Json(new { Success = true, Period = GeneratingResults.Period, PagesCount = (GeneratingResults.Period + 1) % PageSize == 0 ? (GeneratingResults.Period + 1) / PageSize : (GeneratingResults.Period + 1) / PageSize + 1 }, JsonRequestBehavior.AllowGet)); }
private static void TestcaseParse(string code, params string[] expectedEnumValues) { var reader = ReaderFromCode(code); var parser = new EnumValuesParser(null, -1); var actualValues = new List <FieldInfo>(); while (!reader.IsEndOfLines) { if (parser.TryParse(reader, out var values)) { actualValues.AddRange(values); } else { reader.TryRead(out var _); } } actualValues.Select(v => v.Name).IsCollection(expectedEnumValues); }
static void GetPeriod(ValuesA a, ValuesC c, ValuesM m, ValuesX0 x0) { var generator = new RandomSequenceGenerator ( EnumValuesParser.GetValueA(a), EnumValuesParser.GetValueC(c), EnumValuesParser.GetValueM(m), EnumValuesParser.GetValueX0(x0) ); //FileWriter.WritePartOfSequenceToFile(filePath, generator.GetNextSequencePart()); while (!generator.IsEnded) { generator.GetNextSequencePart(); } Console.WriteLine($"{count++}) Period: {generator.Period}"); Console.WriteLine(); }