Exemple #1
0
        public ParsedSubject Parse(TmpObject input)
        {
            switch (input.Time)
            {
            case "08.30-10.00":
                input.Time = "8.00-9.30";
                break;

            case "10.10-11.40":
                input.Time = "10.05-11.35";
                break;

            case "11.50-13.20":
                input.Time = "12.00-13.30";
                break;

            case "15.20-16.50":
                input.Time = "16.00-17.30";
                break;
            }
            var parsedSubject = new ParsedSubject
            {
                Cabinet     = "",
                Notation    = "",
                SubjectName = "Физическая культура",
                Time        = input.Time,
                Group       = input.Group
            };

            return(parsedSubject);
        }
Exemple #2
0
 private string ProcessTrash(TmpObject input)
 {
     return(input.Content
            .Replace("на Кремлёвской 35", "(на Кремлёвской 35)")
            .Replace("( Введение в исскуственный интеллект)", "Введение в исскуственный интеллект")
            .Replace("Основы правоведения и противодействия коррупции Хасанов Р.А. ч.н.1308 для гр.11-508 ,", "")
            .Replace("д.гл.(прак.)", "")
            .Replace("гр.1", "")
            .Replace("гр.2", "")
            .Replace("Технологии Net- д.гл.Гумеров К.", "Технологии Net Гумеров К.А.")
            .Replace("1310- 1311", "1310")
            .Replace("Кугуракова В В.", "Кугуракова В.В.")
            .Replace("корпоротивных", "корпоративных")
            .Replace("М. 13", "М.Р. 13")
            .Replace("ХайруллинА.Ф.", "Хайруллин А.Ф.")
            .Replace("Костюк Д.", "Костюк Д.И.")
            .Replace("исскуственный", "искусственный")
            .Replace("Закиров Л.в 18.00 в 1508 ( 18 н. лекц.)", "Закиров Л.А. 1508")
            .Replace("Закиров Л.Практика по ч.н.( 9н.) 1508", "Закиров Л.А. 1508 ( 9н. Практика по ч.н.)")
            .Replace("Курс по выбору :   ,Введение в теорию и практику",
                     "Курс по выбору :  Введение в теорию и практику")
            .Replace(
                "Проектный практикум( рас LAB),   Курс по выбору: Разработка корпоративных приложений Сидиков М.Р. в 1302",
                "Курс по выбору: Разработка корпоративных приложений Сидиков М.Р. в 1302"));
 }
Exemple #3
0
        public IEnumerable <ParsedSubject> Parse(TmpObject input, ScheduleGroupType groupType)
        {
            var result = new List <ParsedSubject>();

            input.Content = input.Content
                            .Replace("Курс по выбору :", "")
                            .Replace("Курс по выбору:", "")
                            .Replace("Курс по выбору :   ,", "");
            var subjects        = input.Content.Split(',');
            var lastSubjectName = "";

            foreach (var subject in subjects)
            {
                var notation  = "";
                var fixedName = "";
                if (subject.Contains("("))
                {
                    notation  = "(" + subject.Split('(', ')')[1] + ")";
                    fixedName = subject.Replace(notation, "");
                }
                else
                {
                    fixedName = subject;
                }

                fixedName = Regex.Match(fixedName, @"[А-ЯA-Z].*").Value;
                var cabinet = Regex.Match(fixedName, @"\d+").Value;
                var teacher = Regex.Match(fixedName, @"[А-Я][а-я]+\s?[А-Я].[А-Я]?.?").Value;

                var subjectName = fixedName
                                  .Replace(teacher, "")
                                  .Replace(cabinet, "")
                                  .Replace("()", "")
                                  .Replace("  ", "")
                                  .Replace("\t", "");
                subjectName = Regex.Replace(subjectName, @"[\d]", string.Empty);
                var parsedSubject = new ParsedSubject
                {
                    SubjectName = subjectName,
                    Time        = input.Time,
                    Cabinet     = cabinet,
                    Teacher     = teacher,
                    Type        = groupType,
                    Course      = input.Course,
                    Notation    = notation
                };
                if (parsedSubject.SubjectName.Length < 2)
                {
                    parsedSubject.SubjectName = lastSubjectName;
                }
                else
                {
                    lastSubjectName = subjectName;
                }
                result.Add(parsedSubject);
            }

            return(result);
        }
Exemple #4
0
 private bool?CheckWeeks(TmpObject inputSubject)
 {
     if (inputSubject.Content.Contains("н.н"))
     {
         return(false);
     }
     if (inputSubject.Content.Contains("ч.н"))
     {
         return(true);
     }
     return(null);
 }
Exemple #5
0
        private Tuple <int, int> SetMarker(TmpObject unparsedObject)
        {
            if (unparsedObject.Content.Contains("Абрамский"))
            {
                if (unparsedObject.Group.StartsWith("11-7"))
                {
                    return(new Tuple <int, int>(1, 5));
                }
                if (unparsedObject.Group.StartsWith("11-6"))
                {
                    return(new Tuple <int, int>(1, 5));
                }
            }

            if (unparsedObject.Content.Contains("Марченко"))
            {
                if (unparsedObject.Group.StartsWith("11-7"))
                {
                    return(new Tuple <int, int>(6, 9));
                }
                if (unparsedObject.Group.StartsWith("11-6"))
                {
                    return(new Tuple <int, int>(6, 8));
                }
            }

            if ((unparsedObject.Content.Contains("Макаев") || unparsedObject.Content.Contains("Мартынова")) &&
                unparsedObject.Group.StartsWith("11-7") && !unparsedObject.Content.Contains("Переточкина"))
            {
                return(new Tuple <int, int>(1, 5));
            }

            if (unparsedObject.Content.Contains("Переточкина") && unparsedObject.Group.StartsWith("11-7"))
            {
                return(new Tuple <int, int>(6, 9));
            }

            if (unparsedObject.Group.StartsWith("11-7"))
            {
                return(new Tuple <int, int>(1, 9));
            }
            return(new Tuple <int, int>(1, 8));
        }
Exemple #6
0
        public IEnumerable <ParsedSubject> Parse(TmpObject input)
        {
            var result = new List <ParsedSubject>();

            input.Content = input.Content
                            .Replace("Иностранный язык (английский язык) \r\n ", "")
                            .Replace("Иностранный язык (английский язык) \n", "")
                            .Replace("Иностранный язык ( английский язык)", "")
                            .Replace("  ", "");
            var subjects = input.Content.Split(',');

            foreach (var subject in subjects)
            {
                try
                {
                    var cabinet = Regex.Match(subject, @"\d+").Value;
                    var teacher = subject.Replace(cabinet, "");
                    var flow    = input.Group[input.Group.Length - 1] == '1' ? 1 : 2;
                    result.Add(new ParsedSubject
                    {
                        SubjectName = "Иностранный язык",
                        Time        = input.Time,
                        Cabinet     = cabinet,
                        Teacher     = teacher,
                        Type        = ScheduleGroupType.Eng,
                        Group       = input.Group,
                        Flow        = flow,
                        Course      = input.Course
                    });
                }
                catch (Exception e)
                {
                    logger?.LogError(e, "Error while eng parse: {0}", JsonConvert.SerializeObject(subject));
                }
            }
            return(result);
        }
Exemple #7
0
 public ParsedSubject Parse(TmpObject input)
 {
     return(new ParsedSubject());
 }
Exemple #8
0
        public ParsedSubject Parse(TmpObject input)
        {
            var initialsCounter = 0;
            var parsedSubject   = new ParsedSubject
            {
                Cabinet      = "",
                Notation     = "",
                SubjectName  = "",
                Teacher      = "",
                Time         = input.Time,
                Group        = input.Group,
                IsOnEvenWeek = input.IsOnEvenWeek
            };
            var notationCheck  = false;
            var upperCaseCheck = false;
            var i = 0;

            foreach (var c in input.Content)
            {
                i++;
                if (c.Equals('('))
                {
                    notationCheck = true;
                }
                if (i > 1)
                {
                    if (char.IsUpper(c))
                    {
                        upperCaseCheck = true;
                    }
                }
                if (char.IsNumber(c) && parsedSubject.Cabinet.Length < 4 && notationCheck == false
                    )
                {
                    parsedSubject.Cabinet += c;
                }
                else
                {
                    if (upperCaseCheck == false)
                    {
                        parsedSubject.SubjectName += c;
                    }
                    else if (notationCheck)
                    {
                        parsedSubject.Notation += c;
                    }
                    else if (initialsCounter < 3)
                    {
                        parsedSubject.Teacher += c;
                        if (char.IsUpper(c))
                        {
                            initialsCounter++;
                        }
                    }
                }

                if (c.Equals(')'))
                {
                    notationCheck = false;
                }
            }

            parsedSubject.Teacher += ".";
            return(parsedSubject);
        }
Exemple #9
0
        public ParsedSubject Parse(TmpObject input)
        {
            int  i = 0, fmCheck = 0, cabCount = 0;
            bool upCheck = false, notationCheck = false;
            var  parsedSubject = new ParsedSubject
            {
                Cabinet      = "",
                Notation     = "",
                SubjectName  = "",
                Teacher      = "",
                Time         = input.Time,
                Group        = input.Group,
                IsOnEvenWeek = input.IsOnEvenWeek
            };

            foreach (var c in input.Content)
            {
                i++;
                if (c.Equals('('))
                {
                    notationCheck = true;
                }
                if (i > 1)
                {
                    if (char.IsUpper(c))
                    {
                        upCheck = true;
                    }
                }
                if (char.IsNumber(c) && cabCount < 4 && notationCheck == false)
                {
                    #region tin

                    if (cabCount == 1 && !c.Equals('3'))
                    {
                        cabCount++;
                    }
                    parsedSubject.Cabinet += c;
                    if (parsedSubject.Cabinet.Equals("140"))
                    {
                        cabCount--;
                    }
                    if (parsedSubject.Cabinet.Equals("115"))
                    {
                        parsedSubject.Cabinet = "1508";
                    }
                    cabCount++;

                    #endregion
                }
                else
                {
                    if (!upCheck)
                    {
                        parsedSubject.SubjectName += c;
                    }
                    else if (notationCheck)
                    {
                        parsedSubject.Notation += c;
                    }
                    else if (fmCheck < 3)
                    {
                        parsedSubject.Teacher += c;
                        if (char.IsUpper(c))
                        {
                            fmCheck++;
                        }
                    }
                }

                if (c.Equals(')'))
                {
                    notationCheck = false;
                }
            }

            return(parsedSubject);
        }