Beispiel #1
0
            private async Task CheckNewVisibilityAsync(Card card, ILocalized localizer, MemCheckDbContext dbContext)
            {
                if (!UsersWithVisibility.Any())
                {
                    return;
                }
                await CheckVisibilityForUsersAsync(await GetAllAuthorsAsync(card, dbContext), localizer, "HeCreatedAVersionOfThisCard", dbContext);

                IEnumerable <Guid> userIds = await GetAllUsersWithCardInADeckAsync(dbContext);

                await CheckVisibilityForUsersAsync(userIds, localizer, "HeHasThisCardInADeck", dbContext);
            }
Beispiel #2
0
            private async Task CheckVisibilityForUsersAsync(IEnumerable <Guid> userIds, ILocalized localizer, string messageSuffixId, MemCheckDbContext dbContext)
            {
                foreach (var userId in userIds)
                {
                    if (!UsersWithVisibility.Any(u => u == userId))
                    {
                        var user = await dbContext.Users.SingleAsync(u => u.Id == userId);

                        throw new RequestInputException($"{localizer.Get("User")} {user.UserName} {localizer.Get("MustHaveVisibilityBecause")} {localizer.Get(messageSuffixId)}");
                    }
                }
            }