public async Task UpdateUserRolesAsync(List <UserListModel> users)
        {
            var usersInDb = await userManager.Users.ToListAsync();

            var adminUsers = await userManager.GetUsersInRoleAsync(RoleTypes.Admin);

            foreach (var user in usersInDb)
            {
                var updatedUser = users.SingleOrDefault(x => x.Id == user.Id);
                if (updatedUser != null)
                {
                    if (updatedUser.IsAdmin && adminUsers.All(x => x.Id != updatedUser.Id))
                    {
                        await userManager.AddToRoleAsync(user, RoleTypes.Admin);
                    }
                    else if (!updatedUser.IsAdmin && adminUsers.Any(x => x.Id == updatedUser.Id))
                    {
                        await userManager.RemoveFromRoleAsync(user, RoleTypes.Admin);
                    }

                    user.IsActive = updatedUser.IsActive;
                }
            }

            await context.SaveChangesAsync();
        }
        public async Task <bool> Purchase(Guid animationId, string billingAddress, string billingName)
        {
            var userId = identityService.GetUserId();

            var animation = await getAnimation(animationId);

            if (animation == null)
            {
                logger.LogInformation("Animáció (Id: {0}) nem található", animationId);
                return(false);
            }

            var animationPurchase = new AnimationPurchase()
            {
                Id              = Guid.NewGuid(),
                Animation       = animation,
                UserId          = userId.Value,
                BillingAddress  = billingAddress,
                BillingName     = billingName,
                PriceAtPurchase = animation.Price,
                CreationTime    = DateTime.Now
            };

            context.AnimationPurchases.Add(animationPurchase);
            await context.SaveChangesAsync();

            logger.LogInformation("Animáció (Id: {0}) felhasználó (Id: {1}) által megvásárolva", animationId, userId);
            return(true);
        }
示例#3
0
        public async Task DeleteComment(Guid commentId)
        {
            if (!identityService.IsAdmin())
            {
                logger.LogInformation("Komment törlés meghiusítva: felhasználó (Id: {0}) nem Admin", identityService.GetUserId());
                return;
            }

            var comment = await context.Comments.FindAsync(commentId);

            if (comment == null)
            {
                logger.LogInformation("Komment törlés meghiusítva: komment (Id: {0}) nem található", commentId);
                return;
            }

            context.Comments.Remove(comment);
            await context.SaveChangesAsync();

            logger.LogInformation("Komment (Id: {0}) törölve");
            return;
        }
        public async Task <bool> Review(Guid animationId, ReviewState reviewState)
        {
            var anim = await context.Animations.FindAsync(animationId);

            if (anim == null)
            {
                logger.LogInformation("Animáció (Id: {0}) nem található", animationId);
                return(false);
            }

            anim.ReviewedById = identityService.GetUserId();
            anim.ReviewState  = reviewState;
            await context.SaveChangesAsync();

            logger.LogInformation("Animáció (Id: {0}) felülvizsgálva felhasználó (Id: {1}) által következő állapottal: {2}", animationId, identityService.GetUserId(), reviewState.ToString("G"));
            return(true);
        }