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 });
        }
        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("Невдалось завантажити розклад. ");
        }