private bool CheckSecurityOKToCreateNewPartner(Boolean AShowMessage) { Boolean ReturnValue; ESecurityDBTableAccessDeniedException SecurityException; ReturnValue = false; SecurityException = null; if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PPartnerTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PPartnerTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PLocationTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PLocationTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PPartnerLocationTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PPartnerLocationTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PChurchTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PChurchTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, POrganisationTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", POrganisationTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PPersonTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PPersonTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PUnitTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PUnitTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PFamilyTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PFamilyTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PBankTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PBankTable.GetTableDBName()); } else if (!UserInfo.GUserInfo.IsTableAccessOK(TTableAccessPermission.tapCREATE, PVenueTable.GetTableDBName())) { SecurityException = new ESecurityDBTableAccessDeniedException("", "create", PVenueTable.GetTableDBName()); } else { // User has access to all checked tables ReturnValue = true; } if ((SecurityException != null) && (AShowMessage)) { TMessages.MsgSecurityException(SecurityException, this.GetType()); } return ReturnValue; }
/// <summary> /// todoComment /// </summary> /// <param name="AException"></param> /// <param name="ATypeWhichRaisesError"></param> public static void MsgSecurityException(ESecurityDBTableAccessDeniedException AException, System.Type ATypeWhichRaisesError) { String TableLabelName = StringHelper.UpperCamelCase(AException.DBTable); string Context = DetermineExceptionContext(AException, ATypeWhichRaisesError); MessageBox.Show(String.Format(Catalog.GetString("You do not have permission to {0} {1} records."), AException.AccessRight, TableLabelName) + BuildMessageFooter(PetraErrorCodes.ERR_NOPERMISSIONTOACCESSTABLE, Context), Catalog.GetString("Security Violation"), MessageBoxButtons.OK, MessageBoxIcon.Information); }