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); }
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); }