OpenPetra
Free Administration Software for Non-Profits
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate Class Reference

The TPPartnerAddressAggregate Class contains logic to create, edit and delete addresses, involving both p_location and p_partner_location tables. More...

Static Public Member Functions

static void LoadAll (DataSet ADataSet, Int64 APartnerKey, TDBTransaction AReadTransaction)
 Passes Partner Address data as a DataSet to the caller. Loads all available Addresses for the Partner. More...
 
static void ApplySecurity (ref DataTable AInspectDT)
 Applies Address Security by inspecting the submitted DataTable for the PartnerLocation records' LocationType DataColumn and the user's presence in Security Group ADDRESSCAN. More...
 
static void ApplySecurity (ref PPartnerLocationTable APartnerLocationDT, ref PLocationTable ALocationDT)
 Applies Address Security by inspecting all PartnerLocation records' LocationTypes and the user's presence in security Group ADDRESSCAN. More...
 
static Boolean CheckHasPartnerLocationOtherPartnerReferences (DataRow ADataRow, Int64 APartnerKey, TDBTransaction AReadTransaction)
 todoComment More...
 
static Boolean CheckHasPartnerLocationOtherPartnerReferences (Int64 APartnerKey, Int64 ASiteKey, Int32 ALocationKey, TDBTransaction AReadTransaction)
 todoComment More...
 
static PLocationTable LoadByPrimaryKey (Int64 ASiteKey, Int32 ALocationKey, TDBTransaction AReadTransaction)
 Passes Location data as a Typed DataTable to the caller. More...
 
static PPartnerLocationTable LoadByPrimaryKey (Int64 APartnerKey, Int64 ASiteKey, Int32 ALocationKey, TDBTransaction AReadTransaction)
 Passes PartnerLocation data as a Typed DataTable to the caller. More...
 
static void LoadByPrimaryKey (DataSet ADataSet, Int64 APartnerKey, Int64 ASiteKey, Int32 ALocationKey, TDBTransaction AReadTransaction)
 Passes Partner Address data as a DataSet to the caller. Loads the Address which is specified through ALocationKey. More...
 
static void LoadAllAddressesForPartner (DataSet ADataSet, Int64 APartnerKey, TDBTransaction AReadTransaction)
 Passes Partner Address data as a DataSet to the caller. Loads all Addresses of the specified Partner. More...
 
static TSubmitChangesResult PrepareChanges (PartnerEditTDS AInspectDS, Int64 APartnerKey, String APartnerClass, TDBTransaction ASubmitChangesTransaction, ref PartnerAddressAggregateTDS AResponseDS, out TVerificationResultCollection AVerificationResult)
 Prepare the address changes. Check for the rules regarding locations More...
 

Detailed Description

The TPPartnerAddressAggregate Class contains logic to create, edit and delete addresses, involving both p_location and p_partner_location tables.

Member Function Documentation

◆ ApplySecurity() [1/2]

static void Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.ApplySecurity ( ref DataTable  AInspectDT)
inlinestatic

Applies Address Security by inspecting the submitted DataTable for the PartnerLocation records' LocationType DataColumn and the user's presence in Security Group ADDRESSCAN.

If the PartnerLocation records' LocationType DataColumn exists and the user isn't in the mentioned Security Group, the LocationTypes of all records are checked. For any records where the security check fails, the information in all DataColumns of the Location and PartnerLocation Tables that are present in the submitted DataTable gets stripped out, Strings get replaced with StrRestrictedInformation.

The performance of the other overload M:ApplySecurity(ref PPartnerLocationTable, ref PLocationTable) is better. Use it whenever the Partner Location data is available in the form of the Typed DataTable PPartnerLocation!

Parameters
AInspectDTDataTable that holds DataColumns from the PartnerLocation (and optionally Location) DB Table(s). Address Security can only be applied if the LocationType DataColumn of the PartnerLocation DB Table is present in the DataTable!
Returns
void

◆ ApplySecurity() [2/2]

static void Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.ApplySecurity ( ref PPartnerLocationTable  APartnerLocationDT,
ref PLocationTable  ALocationDT 
)
inlinestatic

Applies Address Security by inspecting all PartnerLocation records' LocationTypes and the user's presence in security Group ADDRESSCAN.

If the user isn't in the mentioned Security Group, the LocationTypes of all records are checked. For any records where the security check fails, the information in all DataColumns of the Location and PartnerLocation Tables that are present in the submitted DataTables gets stripped out, Strings get replaced with StrRestrictedInformation. For the LocationTable this is only true if it is submitted and holds records that are restricted in the PPartnerLocation DataTable.

Another overload M:ApplySecurity(ref DataTable) is available which can be used if the Partner Location (and/or Location) data isn't available in the form of the Typed DataTables PPartnerLocation and PLocation!

Parameters
ALocationDTLocation Typed DataTable (optional, set to nil if there is no Location Typed DataTable that goes with the PartnerLocation Typed DataTable that is submitted in APartnerLocationDT.
APartnerLocationDTPartnerLocation Typed DataTable
Returns
void

◆ CheckHasPartnerLocationOtherPartnerReferences() [1/2]

static Boolean Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.CheckHasPartnerLocationOtherPartnerReferences ( DataRow  ADataRow,
Int64  APartnerKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

todoComment

Parameters
ADataRow
APartnerKey
AReadTransaction
Returns

◆ CheckHasPartnerLocationOtherPartnerReferences() [2/2]

static Boolean Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.CheckHasPartnerLocationOtherPartnerReferences ( Int64  APartnerKey,
Int64  ASiteKey,
Int32  ALocationKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

todoComment

Parameters
APartnerKey
ASiteKey
ALocationKey
AReadTransaction
Returns

◆ LoadAll()

static void Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.LoadAll ( DataSet  ADataSet,
Int64  APartnerKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

Passes Partner Address data as a DataSet to the caller. Loads all available Addresses for the Partner.

Parameters
ADataSetDataSet that holds a DataSet with a DataTable for the Person
APartnerKeyPartnerKey of the Partner for which Address data is to be loaded
AReadTransactionTransaction for the SELECT statement
Returns
void

◆ LoadAllAddressesForPartner()

static void Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.LoadAllAddressesForPartner ( DataSet  ADataSet,
Int64  APartnerKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

Passes Partner Address data as a DataSet to the caller. Loads all Addresses of the specified Partner.

Parameters
ADataSetInstantiated DataSet.
APartnerKeyPartnerKey of the Partner for which the Address data of all its Addresses is to be loaded.
AReadTransactionInstantiated DB Transaction.

◆ LoadByPrimaryKey() [1/3]

static void Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.LoadByPrimaryKey ( DataSet  ADataSet,
Int64  APartnerKey,
Int64  ASiteKey,
Int32  ALocationKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

Passes Partner Address data as a DataSet to the caller. Loads the Address which is specified through ALocationKey.

Parameters
ADataSetInstantiated DataSet.
APartnerKeyPartnerKey of the Partner for which Address data is to be loaded
ASiteKeySiteKey of the Location for which Address data is to be loaded.
ALocationKeyLocationKey of the Location for which Address data is to be loaded.
AReadTransactionInstantiated DB Transaction.

◆ LoadByPrimaryKey() [2/3]

static PPartnerLocationTable Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.LoadByPrimaryKey ( Int64  APartnerKey,
Int64  ASiteKey,
Int32  ALocationKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

Passes PartnerLocation data as a Typed DataTable to the caller.

Parameters
APartnerKeyPartnerKey of the Partner for which PartnerLocation data is to be loaded
ASiteKeySiteKey of the Location for which PartnerLocation data is to be loaded
ALocationKeyLocationKey of the Location for which PartnerLocation data is to be loaded
AReadTransaction
Returns
Typed DataTable PPartnerLocation containing one DataRow

◆ LoadByPrimaryKey() [3/3]

static PLocationTable Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.LoadByPrimaryKey ( Int64  ASiteKey,
Int32  ALocationKey,
TDBTransaction  AReadTransaction 
)
inlinestatic

Passes Location data as a Typed DataTable to the caller.

Parameters
ASiteKeySiteKey of the Location for which Address data is to be loaded
ALocationKeyLocationKey of the Location for which Address data is to be loaded
AReadTransaction
Returns
Typed DataTable PLocationTable containing one DataRow

◆ PrepareChanges()

static TSubmitChangesResult Ict.Petra.Server.MPartner.DataAggregates.TPPartnerAddressAggregate.PrepareChanges ( PartnerEditTDS  AInspectDS,
Int64  APartnerKey,
String  APartnerClass,
TDBTransaction  ASubmitChangesTransaction,
ref PartnerAddressAggregateTDS  AResponseDS,
out TVerificationResultCollection  AVerificationResult 
)
inlinestatic

Prepare the address changes. Check for the rules regarding locations


The documentation for this class was generated from the following file: