コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: RoomParser.cs プロジェクト: Anton-Pronkin/Timetable
        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());
        }