using BeWo.Data.Entities; using BS.Shared; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BeWo.Data.Security { public class UserRightHelper { public static ApplicationUser GetLoggedInUser() { if (LoggedInUserOperationContextExt.Current != null && LoggedInUserOperationContextExt.Current.User != null) { return LoggedInUserOperationContextExt.Current.User; } else { return SessionFacade.LoggedInUser; } return null; } public static bool LoggedInUserHasRight(UserRightType right) { return GetGrantedRights(GetLoggedInUser()).Contains(right); } public static bool UserHasRight(ApplicationUser user, UserRightType right) { return GetGrantedRights(user).Contains(right); } public static List GetGrantedRights(ApplicationUser user) { var rights = new List(); foreach (var ug in user.UserGroups) { foreach (var rr in ug.Rights) { rights.Add(rr.RightType); } } return rights; } } }