예제 #1
0
        GenerateSchedulerMessage(ISchedulerController scheduler, UserInfo userInformation, string day)
        {
            GoogleSpreadsheetController.SchedulerSheet schedulerSheet = null;

            if (userInformation.TypeUser == TypeUser.Teacher.ToString())
            {
                schedulerSheet = new GoogleSpreadsheetController.SchedulerTeacher();
            }

            if (userInformation.TypeUser == TypeUser.Pupil.ToString()) // if Pupil
            {
                schedulerSheet = new GoogleSpreadsheetController.SchedulerPupil();
            }

            if (schedulerSheet == null)
            {
                return(null);
            }

            await schedulerSheet.GetSheetDataAsync();

            var schedulerInformation = await schedulerSheet.GetScheduler();

            var formattingData = await scheduler.FormatingDataFromGSAsync(schedulerInformation);

            string answer = default;

            if (day == "AllWeek")
            {
                answer += $"Розклад на весь тиждень.\n";
                string body = default;
                foreach (var dayy in weekDays)
                {
                    body += await CreateDayScheduler(scheduler, userInformation, dayy);
                }
                return(answer + body);
            }
            else
            {
                return(await CreateDayScheduler(scheduler, userInformation, day));
            }
        }
예제 #2
0
        public static async Task <string[]> GenerateLessonMessage(UserInfo user, GoogleSpreadsheetController.SchedulerSheet schedulerSheet, ISchedulerController scheduler, string day, int lesson)
        {
            await schedulerSheet.GetSheetDataAsync();

            var formattingData =
                await scheduler.FormatingDataFromGSAsync(scheduler : await schedulerSheet.GetScheduler());

            string answer       = " Невдалось знайти урок.";
            string callBackData = default;

            if (user.TypeUser == TypeUser.Teacher.ToString())
            {
                var teacherInfo = await BalDbController.GetTeacherInformationAsync(user.ChatId);

                var schedulerDay = await scheduler.GetConcreteDayInformationAsync(
                    scheduler : await scheduler.GetConcreteWeekInformationAsync(teacherInfo.Teachers.First().FullName),
                    dayOfWeek : day);

                string title       = $"{new SendPupilsMessage().Name}{lesson} урок у {ConverteEngMonthToUkr(day, LanguageCases.Rodovyy).Result}:\n";
                int    pointLesson = lesson * 3;
                string @class      = schedulerDay[pointLesson];
                callBackData = @class;
                string subject    = schedulerDay[pointLesson + 1];
                string classRoom  = schedulerDay[pointLesson + 2];
                string timeLesson = timeLessons[lesson];

                string body = $"🕐 Час: {timeLesson}\n" + $"📚 Предмет: {subject}\n" + $"💡 Клас: {@class}\n" + $"🏴 Кабінет: {classRoom}\n";
                answer = title + body;
            }

            if (user.TypeUser == TypeUser.Pupil.ToString())
            {
                var pupilInfo = await BalDbController.GetPupilInformationAsync(user.ChatId);

                var schedulerDay = await scheduler.GetConcreteDayInformationAsync(
                    scheduler : await scheduler.GetConcreteWeekInformationAsync(pupilInfo.Pupils.First().Class),
                    dayOfWeek : day);

                string title       = $"{new SendTeacherMessage().Name}{lesson} урок у {ConverteEngMonthToUkr(day, LanguageCases.Rodovyy).Result}:\n";
                int    pointLesson = lesson * 3;
                string subject     = schedulerDay[pointLesson];
                string nameTeacher = schedulerDay[pointLesson + 1];
                callBackData = nameTeacher;
                string classRoom  = schedulerDay[pointLesson + 2];
                string timeLesson = timeLessons[lesson];

                string body = $"🕐 Час: {timeLesson}\n" + $"📚 Предмет: {subject}\n" + $"💡 Вчитель: {nameTeacher}\n" + $"🏴 Кабінет: {classRoom}\n";
                answer = title + body;
            }

            return(new[] { answer, callBackData });
        }
예제 #3
0
        public static async Task <string> CreateDayScheduler(ISchedulerController scheduler, UserInfo userInformation, string day)
        {
            if (day.ToLowerInvariant() == DayOfWeek.Saturday.ToString().ToLowerInvariant() ||
                day.ToLowerInvariant() == DayOfWeek.Sunday.ToString().ToLowerInvariant())
            {
                return("Насолоджуйтесь вихідним 🌞");
            }
            string title      = $"Розклад на {ConverteEngMonthToUkr(day, LanguageCases.Rodovyy).Result}:\n";
            string bodyAnswer = default;
            string answer     = default;

            string subject       = default;
            string classroom     = default;
            string uniqueCommand = default;
            int    lesson        = default;


            if (userInformation.TypeUser == TypeUser.Teacher.ToString())
            {
                var teacherInfo = await BalDbController.GetTeacherInformationAsync(userInformation.ChatId);

                var schedulerDay = await scheduler.GetConcreteDayInformationAsync(
                    scheduler : await scheduler.GetConcreteWeekInformationAsync(teacherInfo.Teachers.First().FullName),
                    dayOfWeek : day);

                if (schedulerDay == null)
                {
                    return("Невдалось завантажити розклад. ");
                }
                for (int lessonPointer = 0; lessonPointer < schedulerDay.Count; lessonPointer += 3)
                {
                    string @class = default;
                    if (schedulerDay[lessonPointer] == String.Empty || schedulerDay[lessonPointer] == "-")
                    {
                        subject       = "Вікно 🙂";
                        @class        = String.Empty;
                        classroom     = String.Empty;
                        uniqueCommand = String.Empty;
                    }
                    else
                    {
                        @class        = $"Кл.: {schedulerDay[lessonPointer]}";
                        subject       = $" {schedulerDay[lessonPointer + 1]}";
                        classroom     = $" Каб.: {schedulerDay[lessonPointer + 2]}.";
                        uniqueCommand = $"\nДетальніше -->" + $" {new SchedulerUniqueCommand.Teacher().Name }{lesson}{day.ToLower()}_scheduler";
                    }
                    bodyAnswer += $"{smileNumber[lesson]} {@class}{subject}{classroom}{uniqueCommand}\n";
                    lesson++;
                }
                answer = title + bodyAnswer;
                return(answer);
            }

            if (userInformation.TypeUser == TypeUser.Pupil.ToString())
            {
                var pupilInfo = await BalDbController.GetPupilInformationAsync(userInformation.ChatId);

                var schedulerDay = await scheduler.GetConcreteDayInformationAsync(
                    scheduler : await scheduler.GetConcreteWeekInformationAsync(pupilInfo.Pupils.First().Class),
                    dayOfWeek : day);

                if (schedulerDay == null)
                {
                    return("Невдалось завантажити розклад. ");
                }

                string teacher = default;

                for (int lessonPointer = 0; lessonPointer < schedulerDay.Count; lessonPointer += 3)
                {
                    if (schedulerDay[lessonPointer] == String.Empty)
                    {
                        subject       = " Уроку немає 🙂";
                        teacher       = String.Empty;
                        classroom     = String.Empty;
                        uniqueCommand = String.Empty;
                    }
                    else
                    {
                        subject       = $" {schedulerDay[lessonPointer]}";
                        teacher       = $" Вч.: {schedulerDay[lessonPointer + 1]}";
                        classroom     = $" Каб.: {schedulerDay[lessonPointer + 2]}.";
                        uniqueCommand = $"\nДетальніше -->" + $" /p{lesson}{day.ToLower()}_scheduler";
                    }
                    bodyAnswer += $"{smileNumber[lesson]} {subject}{classroom}{uniqueCommand}\n";
                    lesson++;
                }
                answer = title + bodyAnswer;
                return(answer);
            }

            return("Невдалось завантажити розклад. ");
        }