private bool CheckUserRights(NavCategory category) { List <Right> rights = new List <Right>(0); bool hasPrivilage = true; bool hasCreatePrivilage = true; bool hasViewOrEditPrivilage = true; if (observer != null && !observer.user.IsAdmin()) { hasPrivilage = false; hasCreatePrivilage = false; hasViewOrEditPrivilage = false; rights = observer.GetRights(category.FunctionalityCode); if (rights.Count == 0) { if (observer.hasAcendentPrivilege(category.FunctionalityCode)) { hasPrivilage = true; hasCreatePrivilage = true; hasViewOrEditPrivilage = true; } else { return(false); } } foreach (Right right in rights) { if (string.IsNullOrWhiteSpace(right.rightType)) { hasPrivilage = true; hasCreatePrivilage = true; hasViewOrEditPrivilage = true; } else if (right.rightType.Equals(RightType.CREATE.ToString())) { hasCreatePrivilage = true; } else if (right.rightType.Equals(RightType.EDIT.ToString())) { hasViewOrEditPrivilage = true; } else if (right.rightType.Equals(RightType.VIEW.ToString())) { hasViewOrEditPrivilage = true; } } } if (hasPrivilage || hasCreatePrivilage || hasViewOrEditPrivilage) { return(true); } return(false); }
private DashboardBlock buildBlock(string title, string newLabel, string recentItemsLabel, string newFunctionCode) { List <Right> rights = new List <Right>(0); bool hasPrivilage = true; bool hasCreatePrivilage = true; bool hasViewOrEditPrivilage = true; if (observer != null && !observer.user.IsAdmin()) { hasPrivilage = false; hasCreatePrivilage = false; hasViewOrEditPrivilage = false; rights = observer.GetRights(newFunctionCode); if (rights.Count == 0) { if (observer.hasAcendentPrivilege(newFunctionCode)) { hasPrivilage = true; hasCreatePrivilage = true; hasViewOrEditPrivilage = true; } else { return(null); } } foreach (Right right in rights) { if (string.IsNullOrWhiteSpace(right.rightType)) { hasPrivilage = true; hasCreatePrivilage = true; hasViewOrEditPrivilage = true; } else if (right.rightType.Equals(RightType.CREATE.ToString())) { hasCreatePrivilage = true; } else if (right.rightType.Equals(RightType.EDIT.ToString())) { hasViewOrEditPrivilage = true; } else if (right.rightType.Equals(RightType.VIEW.ToString())) { hasViewOrEditPrivilage = true; } } } if (hasPrivilage || hasCreatePrivilage || hasViewOrEditPrivilage) { DashboardBlock block = new DashboardBlock(newFunctionCode); block.DashboardView = this; block.TitleLabel.Content = title; block.RecentItemsTextBlock.Text = recentItemsLabel; if (hasPrivilage || hasCreatePrivilage) { buildNewControl(block, newLabel, newFunctionCode); } customizeMenu(block, newFunctionCode); return(block); } return(null); }