예제 #1
0
        public InlineKeyboardButton Create(CallbackQueryActionType backActionCallBack, string callbackData = null)
        {
            var callbackDataText = string.IsNullOrWhiteSpace(callbackData)
                ? CallbackDataFormatter.ToCallBackData(backActionCallBack)
                : $"{CallbackDataFormatter.ToCallBackData(backActionCallBack)};{callbackData}";

            return(new InlineKeyboardButton
            {
                Text = _currentUserLocalizationService["back"],
                CallbackData = callbackDataText
            });
        }
예제 #2
0
        internal ISpecificCallbackQueryHandler GetHandler(CallbackQueryActionType actionType)
        {
            switch (actionType)
            {
            case CallbackQueryActionType.AddGroup:
                return(_serviceProvider.GetService <AddGroupCallbackHandler>());

            case CallbackQueryActionType.ShowTimetableFacultyGroupViewMenu:
                return(_serviceProvider.GetService <ShowTimetableFacultyGroupViewMenuCallbackHandler>());

            case CallbackQueryActionType.ShowTimetableFacultyGroupsMenu:
                return(_serviceProvider.GetService <ShowTimetableFacultyGroupsMenuCallbackHandler>());

            case CallbackQueryActionType.TimetableFacultyGroupsMenuGroupSelected:
                return(_serviceProvider.GetService <TimetableFacultyGroupsMenuGroupSelectedHandler>());

            case CallbackQueryActionType.OpenRemoveGroupsMenu:
                return(_serviceProvider.GetService <OpenRemoveGroupsMenuCallbackHandler>());

            case CallbackQueryActionType.RemoveGroup:
                return(_serviceProvider.GetService <RemoveGroupCallbackHandler>());

            case CallbackQueryActionType.ShowScheduleMenu:
                break;

            case CallbackQueryActionType.ShowNotificationMenuForGroup:
                break;

            case CallbackQueryActionType.SubscribeToScheduleNotification:
                break;

            case CallbackQueryActionType.UnsubscribeFromScheduleNotification:
                break;

            case CallbackQueryActionType.ShowNotificationsMenu:
                break;
            }

            throw new NotImplementedException();
        }
 internal static string ToCallBackData(CallbackQueryActionType actionType, Group facultyGroup)
 {
     return($"{(int)actionType}{S}{ToCallBackData(facultyGroup)}");
 }
 internal static string ToCallBackData(CallbackQueryActionType actionType)
 {
     return($"{(int)actionType}");
 }