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