protected bool ValidateIfCommandAllowed(string screenPath, FarHorizon.Reservations.Common.ENums.PageCommand pageCommand) { bool commandAllowed = IsCommandAllowed(screenPath, pageCommand); if (!commandAllowed) { DisplayAlert("You don't have rights to " + pageCommand.ToString() + " for this screen."); return(false); } return(true); }
private bool IsCommandAllowed(string screenPath, FarHorizon.Reservations.Common.ENums.PageCommand pageCommand) { string screenName = screenPath; if (screenPath.StartsWith(@"http://") || screenPath.StartsWith(@"https://")) { screenName = Path.GetFileNameWithoutExtension(screenPath.ToString()); //This is to handle the Booking Change Room Pax, which is a modal Pop up for Booking screen, //So allowing user to get onto this screen, if he has rights for the booking screen. if (screenName.ToUpper() == "BOOKINGCHANGEROOMPAX") { screenName = "Booking"; } switch (screenName.ToUpper()) { case "DEFAULT": case "LOGGEDOUT": return(true); default: break; } } List <RoleRightsDTO> roleRightsList = null; if (SessionHelper.LoggedInUser != null) { if (SessionHelper.LoggedInUser.User.UserId.Trim().ToUpper() == "ADMIN") { return(true); } roleRightsList = SessionHelper.LoggedInUser.RoleRigthsList; } if (roleRightsList != null) { //RoleRightsDTO right = roleRightsList.Find(delegate(RoleRightsDTO _right) { return _right.ScreenName.ToUpper() == screenName.ToUpper() && _right.RightKey.ToUpper().StartsWith(pageCommand.ToString().ToUpper()); }); return(roleRightsList.Exists(_right => _right.ScreenName.ToUpper() == screenName.ToUpper() && _right.RightKey.ToUpper().StartsWith(pageCommand.ToString().ToUpper()))); } //} return(false); }