コード例 #1
0
        public async Task <ActionResult> Index(int userId, [FromBody] ForwardChanged change)
        {
            var user = await db.Users.Where(u => u.UserId == userId).SingleOrDefaultAsync() ??
                       throw new Exception($"Invalid userId ({userId}) specified.");

            if (IsSubscribed(user.SubscriptionLevel, change, user.SupportManagerUserId))
            {
                await botClient.SendTextMessageAsync(user.ChatId,
                                                     $"Forward changed from {change.OldForward.User.DisplayName} to {change.NewForward.User.DisplayName}");
            }

            return(Ok("Success"));
        }
コード例 #2
0
        private static bool IsSubscribed(SubscriptionLevel level, ForwardChanged change, int userId)
        {
            if (level == SubscriptionLevel.All)
            {
                return(true);
            }
            if (change.NewForward.User.Id == userId)
            {
                return(level == SubscriptionLevel.ToMe || level == SubscriptionLevel.FromOrToMe);
            }
            if (change.OldForward.User.Id == userId)
            {
                return(level == SubscriptionLevel.FromOrToMe);
            }

            return(false);
        }