public static MonthlySettings Random(string name, string clf, DateTime date, bool interval = false) { MonthlySettings result = new MonthlySettings(); result.Wiring = Wiring.Random(interval); Wiring.Current = result.Wiring; result.Name = name; result.Classification = clf; result.Date = new DateTime(date.Year, date.Month, 1); result.Indicator = RandomUtil.GetRandomAlpha(GROUP_SIZE); result.NumericIndicator = RandomUtil.GetRandomNumeric(GROUP_SIZE); for (int d = 1; d <= DateTime.DaysInMonth(date.Year, date.Month); d++) { result.DailySettings.Add(Settings.Random()); result.DailySettings.Last().Date = new DateTime(date.Year, date.Month, d); } result.DailySettings.ForEach(s => { s.ParentSettings = result; s.ParentId = result.Id; }); IndicatorUtil.FixDuplicateIndicators(result.DailySettings); return(result); }
public static Settings Random() { Settings result = new Settings(); result.Date = DateTime.Now.Date; result.Indicator = RandomUtil.GetRandomAlpha(5); result.NumericIndicator = RandomUtil.GetRandomNumeric(5); result.StartPosition = RandomUtil.GetRandomAlpha(8); List <RotorName> rotors = RandomUtil.GetRandomEnumSequence <RotorName>(8); List <NotchRingName> notches = RandomUtil.GetRandomEnumSequence <NotchRingName>(8); for (int i = 0; i < 8; i++) { result.Rotors.Add(new RotorSetting { RotorName = rotors[i], NotchRingName = notches[i], AlphabetRingPosition = RandomUtil._rand.Next(36), NotchRingPosition = RandomUtil._rand.Next(36), ParentId = result.Id, ParentSettings = result }); } Machine m = new Machine(result); result.Check = m.Encipher(new string('L', 45)).Substring(35, 10); return(result); }
public static YearlySettings Random(string title, string classification, DateTime date, bool interval = false) { YearlySettings result = new YearlySettings { Date = date, Classification = classification, Name = title, Indicator = RandomUtil.GetRandomAlpha(5), NumericIndicator = RandomUtil.GetRandomNumeric(5) }; for (int i = 1; i <= 12; i++) { result.MonthlySettings.Add(KL7A.Configuration.MonthlySettings.Random(title, classification, new DateTime(date.Year, i, 1), interval)); } result.MonthlySettings.ForEach(m => { m.ParentId = result.Id; m.ParentSettings = result; }); IndicatorUtil.FixDuplicateIndicators(result.MonthlySettings); IndicatorUtil.FixDuplicateIndicators(result.MonthlySettings.SelectMany(m => m.DailySettings)); return(result); }
public Message(string fileName) { _mode = ConstructorMode.FileName; YearlySettings ys = YearlySettings.Open(fileName); _settings = ys.Today; Wiring.Current = _settings.ParentSettings.Wiring; _machine = new Machine(_settings); MessageKey = RandomUtil.GetRandomAlpha(5); _fileName = fileName; }
public Message(int id) { _mode = ConstructorMode.Id; YearlySettings ys = YearlySettings.ReadFromDb(id); _settings = ys.Today; Wiring.Current = _settings.ParentSettings.Wiring; _machine = new Machine(_settings); MessageKey = RandomUtil.GetRandomAlpha(5); _id = id; }
public Message(Settings s) { _mode = ConstructorMode.Settings; _settings = s; _machine = new Machine(_settings); Wiring.Current = Wiring.Default(); if (_settings.ParentSettings != null) { if (_settings.ParentSettings.Wiring != null) { Wiring.Current = _settings.ParentSettings.Wiring; } } MessageKey = RandomUtil.GetRandomAlpha(5); }
public KeySheet(int year) { Year = year; Sheets = new List <DailySheet>(); SheetDefinitions = new List <Sheet>(); List <Tuple <DailySheet, int> > values = new List <Tuple <DailySheet, int> >(); for (int m = 1; m <= 12; m++) { for (int d = 1; d <= DateTime.DaysInMonth(year, m); d++) { DailySheet ds = new DailySheet { Month = m, Day = d }; values.Add(new Tuple <DailySheet, int>(ds, RandomUtil._rand.Next())); } } DailySheet[] ary = values.OrderBy(v => v.Item2).Select(v => v.Item1).ToArray(); int pointer = 0; foreach (var ss in ary) { ss.SheetName = SHEET_NAMES[pointer].ToString(); pointer++; if (pointer == SHEET_NAMES.Length) { pointer = 0; } } Sheets.AddRange(values.Select(v => v.Item1)); foreach (char c in SHEET_NAMES) { Sheet s = new Sheet(); s.Name = c.ToString(); for (int x = 1; x <= 6; x++) { for (int y = 1; y <= 6; y++) { for (int z = 1; z <= 6; z++) { s.Values.Add(new SheetEntry { Value = RandomUtil.GetRandomAlpha(5) }); } } } SheetEntry[] entries = s.Values.OrderBy(v => v.Value).ToArray(); pointer = 0; for (int x = 1; x <= 6; x++) { for (int y = 1; y <= 6; y++) { for (int z = 1; z <= 6; z++) { entries[pointer].Key = string.Format("{0}{1}{2}", x, y, z); pointer++; } } } SheetDefinitions.Add(s); } }