private static PairFrequency CalculateDefinedDate(string content, int firstWeek, out string reducedText) { var days = PartParseHelper.GetEntries(content, new[] { DefinedDatePattern }).ToList(); if (!days.Any()) { throw new Exception("Не найдено ни одной определенной даты."); } reducedText = PartParseHelper.RemoveEntries(content, DefinedDatePattern, NumeratorPattern, DenominatorPattern); var firstDate = days.First().Groups[0].Value; var weekNumber = (GetWeekNumber(firstDate) - firstWeek) / 4; switch (weekNumber) { case 0: return(PairFrequency.Numerator1); case 1: return(PairFrequency.Denominator1); case 2: return(PairFrequency.Numerator2); default: return(PairFrequency.Denominator2); } }
private static Room GetRoom(string content) { var rooms = PartParseHelper.GetEntries(content, new [] { Pattern }).Select(ParseRoom).ToList(); if (rooms.Count != 1) { throw new Exception("Невозможно однозначно определить аудиторию."); } return(rooms.Single()); }