OpenPetra
Free Administration Software for Non-Profits
Ict.Petra.Shared Namespace Reference

Namespaces

namespace  Interfaces
 
namespace  MCommon
 
namespace  MConference
 
namespace  MFinance
 
namespace  MHospitality
 
namespace  MPartner
 
namespace  MPersonnel
 
namespace  MReporting
 
namespace  MSponsorship
 
namespace  MSysMan
 
namespace  Security
 
namespace  Testing
 

Classes

class  Conversions
 functions for various Petra-related conversions. More...
 
class  ECacheableTablesMgrException
 This Exception is thrown on several occasions by TCacheableTablesManager. More...
 
class  ECacheableTablesMgrTableNotUpToDateException
 This Exception is thrown by GetCachedDataTable if the Cacheable DataTable isn't in an up-to-date state. This means it needs to be retrieved anew before it can be used. More...
 
class  Messages
 Contains functions for processing of error messages, etc. More...
 
class  PetraErrorCodes
 
class  SharedConstants
 constants that are used all over the place More...
 
class  SharedTypes
 provides useful functions for shared types More...
 
class  TCacheableTablesLoader
 The TCacheableTablesLoader class is designed to get base.by a Class that will be a Cache Manager (who is responsible for the actual loading and saving of the DataTables). It contains only a helper function that is used by every Cache Manager. More...
 
class  TCacheableTablesManager
 
class  TSharedDataCache
 Contains functions for the shared access to cacheable data More...
 
class  TTableList
 this returns a list of all database tables, ordered by the most referenced tables, which need to be created first and can be deleted last More...
 
class  UserInfo
 Holds User Information (particularly security-related) in a global variable and allows refreshing of this information. More...
 

Enumerations

enum  TCacheableCommonTablesEnum { CurrencyCodeList , FrequencyList , CountryList , LanguageCodeList }
 Enums holding the possible cacheable tables for the Petra Common Module, specifically Common submodule More...
 
enum  TCacheableConferenceTablesEnum { ConferenceOptionTypeList , ConferenceCostTypeList }
 Enums holding the possible cacheable tables for the Petra Conference Module, specifically Conference submodule More...
 
enum  TCacheableFinanceTablesEnum {
  AnalysisTypeList , FreeformAnalysisList , AnalysisAttributeList , BudgetTypeList ,
  CostCentreTypesList , EmailDestinationList , MethodOfGivingList , MethodOfPaymentList ,
  ValidLedgerNumberList , MotivationGroupList , MotivationList , FeesPayableList ,
  FeesReceivableList , SuspenseAccountList , AccountingPeriodList , LedgerNameList ,
  LedgerDetails , CostCentreList , CostCentresLinkedToPartnerList , AccountList ,
  AccountHierarchyList , ICHStewardshipList
}
 Enums holding the possible cacheable tables for the Petra Finance Module, specifically Finance submodule More...
 
enum  TCacheablePartnerTablesEnum {
  AddresseeTypeList , AcquisitionCodeList , BusinessCodeList , DataLabelList ,
  DataLabelUseList , DataLabelLookupCategoryList , DataLabelLookupList , DenominationList ,
  InterestList , InterestCategoryList , LocationTypeList , MaritalStatusList ,
  MethodOfContactList , OccupationList , PartnerStatusList , PartnerTypeList ,
  ProposalStatusList , ProposalSubmissionTypeList , RelationList , RelationCategoryList ,
  UnitTypeList , CountyList , FoundationOwnerList , InstalledSitesList ,
  CountryListFromExistingLocations , DataLabelsForPartnerClassesList , ContactCategoryList , ContactTypeList ,
  PartnerAttributeSystemCategoryList , PartnerAttributeSystemCategoryTypeList
}
 Enums holding the possible cacheable tables for the Petra Partner Module, specifically Partner submodule More...
 
enum  TCacheableMailingTablesEnum {
  AddressBlockList , AddressBlockElementList , AddressLayoutCodeList , ContactAttributeList ,
  ContactAttributeDetailList , MethodOfContactList , MergeFormList , MergeFieldList ,
  MailingList , PostcodeRangeList , PostcodeRegionList , PostcodeRegionRangeList ,
  ModuleList
}
 Enums holding the possible cacheable tables for the Petra Partner Module, specifically Mailing submodule More...
 
enum  TCacheableSubscriptionsTablesEnum {
  PublicationList , PublicationCostList , ReasonSubscriptionGivenList , ReasonSubscriptionCancelledList ,
  PublicationInfoList
}
 Enums holding the possible cacheable tables for the Petra Partner Module, specifically Subscriptions submodule More...
 
enum  TCacheableUnitTablesEnum { PositionList , JobAssignmentTypeList , OutreachList , ConferenceList }
 Enums holding the possible cacheable tables for the Petra Personnel Module, specifically Unit submodule More...
 
enum  TCacheablePersonTablesEnum {
  CommitmentStatusList , DocumentTypeList , DocumentTypeCategoryList , AbilityAreaList ,
  AbilityLevelList , ApplicantStatusList , ApplicationTypeList , ArrivalDeparturePointList ,
  EventRoleList , ContactList , LanguageLevelList , LeadershipRatingList ,
  PassportTypeList , TransportTypeList , QualificationAreaList , QualificationLevelList ,
  SkillCategoryList , SkillLevelList , OutreachPreferenceLevelList , EventApplicationTypeList ,
  FieldApplicationTypeList
}
 Enums holding the possible cacheable tables for the Petra Personnel Module, specifically Person submodule More...
 
enum  TCacheableSysManTablesEnum { LanguageSpecificList , UserList }
 Enums holding the possible cacheable tables for the Petra SysMan Module, specifically SysMan submodule More...
 
enum  TPartnerClass {
  PERSON , FAMILY , CHURCH , ORGANISATION ,
  BANK , UNIT , VENUE
}
 partner classes More...
 
enum  TStdAddresseeTypeCode {
  satcFEMALE , satcMALE , satcCHURCH , satcCOUPLE ,
  satcDEFAULT , satcFAMILY , satcORGANISA
}
 type of addressee More...
 
enum  TStdPartnerStatusCode {
  spscACTIVE , spscINACTIVE , spscDIED , spscMERGED ,
  spscPRIVATE
}
 partner status More...
 
enum  TTableAccessPermission { tapINQUIRE , tapMODIFY , tapCREATE , tapDELETE }
 table access permissions More...
 
enum  TLastPartnerUse { lpuMailroomPartner , lpuPersonnelPerson , lpuPersonnelUnit , lpuConferencePerson }
 where the partner was accessed the last time More...
 
enum  TModule {
  mPartner , mFinance , mPersonnel , mFinDev ,
  mSysMan , mConference
}
 enumeration of values for items that can be associated with modules More...
 
enum  TSequenceNames {
  seq_application , seq_contact , seq_extract_number , seq_location_number ,
  seq_pe_evaluation_number , seq_report_number , seq_general_ledger_master , seq_budget ,
  seq_bank_details , seq_document , seq_past_experience , seq_staff_data ,
  seq_job , seq_job_assignment , seq_data_label , seq_foundation_proposal ,
  seq_proposal_detail , seq_form_letter_insert , seq_workflow , seq_file_info ,
  seq_person_skill , seq_booking , seq_room_alloc , seq_ar_invoice ,
  seq_match_number , seq_statement_number , seq_ap_document , seq_partner_attribute_index
}
 sequences that can be used with the MCommon WebConnector TSequenceWebConnector More...
 

Functions

delegate Int32 TDelegateSendClientTask (System.Int32 AClientID, String ATaskGroup, String ATaskCode, System.Object ATaskParameter1, System.Object ATaskParameter2, System.Object ATaskParameter3, System.Object ATaskParameter4, System.Int16 ATaskPriority, System.Int32 AExceptClientID)
 This Delegate is used for sending a ClientTask to all other Clients to tell them to reload a certain Cacheable DataTable (used only if the TCacheableTablesManager is instantiated by PetraServer, but not if it is instantiated by the PetraClient). More...
 
delegate DataTable TGetCacheableDataTableFromCache (String ACacheableTableName, out System.Type AType)
 Delegate for both client- and serverside use to retrieve a DataTable of the data cache (client- or serverside). More...
 

Enumeration Type Documentation

◆ TCacheableCommonTablesEnum

Enums holding the possible cacheable tables for the Petra Common Module, specifically Common submodule

Enumerator
CurrencyCodeList 

Unit of money for various countries.

FrequencyList 

List of Frequencies (e.g. of Mailings, Publications, etc.)

CountryList 

List of countries with their codes

LanguageCodeList 

List of language codes

◆ TCacheableConferenceTablesEnum

Enums holding the possible cacheable tables for the Petra Conference Module, specifically Conference submodule

Enumerator
ConferenceOptionTypeList 

Lists types of options that can be used for a conference

ConferenceCostTypeList 

Cost types to be used for conference (extra) charges

◆ TCacheableFinanceTablesEnum

Enums holding the possible cacheable tables for the Petra Finance Module, specifically Finance submodule

Enumerator
AnalysisTypeList 

Contains types of analysis attributes

FreeformAnalysisList 

Values for the analysis types

AnalysisAttributeList 

Relationsship between account and analysis type

BudgetTypeList 

Used for initial set up of budgets, for how to calculate amounts for each period. Some possible types are adhoc,same,percentage of annual.

CostCentreTypesList 

Stores standard and user-defined cost centre types. For example: Foreign, Local.

EmailDestinationList 

Where Petra supports it a cross reference between a file and destination can be established for automatic distribution.

MethodOfGivingList 

Special payment programs the donor may give money through. (ie, Gift Aid in the UK)

MethodOfPaymentList 

Media types of money received. Eg: Cash, Check Credit Card

ValidLedgerNumberList 

List of foreign ledgers (eg, other fields) which the local ledger may send transctions to.

MotivationGroupList 

This is used to track a partner's reason for contacting the organisation/sending money. Divided into Motivation Detail codes

MotivationList 

list of motivations (for gifts)

FeesPayableList 

Fees owed to another ledger. (e.g. admin grant)

FeesReceivableList 

Charges to collect from other ledgers. (e.g. office admin fee)

SuspenseAccountList 

Lists the suspense accounts of each ledger.

AccountingPeriodList 

Information about each financial period in a ledger.

LedgerNameList 

names of available ledgers

LedgerDetails 

ledger details (number of accounting periods, current period, etc)

CostCentreList 

todoComment

CostCentresLinkedToPartnerList 

todoComment

AccountList 

todoComment

AccountHierarchyList 

todoComment

ICHStewardshipList 

todoComment

◆ TCacheableMailingTablesEnum

Enums holding the possible cacheable tables for the Petra Partner Module, specifically Mailing submodule

Enumerator
AddressBlockList 

This table contains the address lines used in laying out an address. Eg a form letter address layout

AddressBlockElementList 

This contains the elements which make up an address. Eg Name etc

AddressLayoutCodeList 

This table contains the address layouts generally available for the user.

ContactAttributeList 

Possible attributes for partner contacts. Gives the description of each attribute code. An attribute is a type of contact that was made or which occurred with a partner.

ContactAttributeDetailList 

Possible attribute details for each contact attribute. Breaks down the attribute into more specifice information that applies to a contact with a partner.

MethodOfContactList 

How contacts are made

MergeFormList 

Master record for Mail Merge output creation

MergeFieldList 

Fields within a Mail Merge Form

MailingList 

Lists mailings that are being tracked. When entering gifts, the mailing that motivated the gift can be indicated.

PostcodeRangeList 

Postcode ranges for each region

PostcodeRegionList 

List postcode regions

PostcodeRegionRangeList 

Links ranges to a region.

ModuleList 

List of Petra software modules

◆ TCacheablePartnerTablesEnum

Enums holding the possible cacheable tables for the Petra Partner Module, specifically Partner submodule

Enumerator
AddresseeTypeList 

Ex. Fam - Family, SM - Single Male, etc.

AcquisitionCodeList 

how did we get to know this partner

BusinessCodeList 

List of businesses with codes

DataLabelList 

This table is used to define data labels for individual use in each office.

DataLabelUseList 

This table defines where a data label is used and the order the labels appear in.

DataLabelLookupCategoryList 

This table holds the categories that can be used for data label values.

DataLabelLookupList 

This table holds all lookup values that can be used for data label values.

DenominationList 

List of denomination codes for churches

InterestList 

Area of Interest

InterestCategoryList 

Categories for Area of Interest

LocationTypeList 

Types of address e.g. home, business

MaritalStatusList 

This table contains the codes indicating someones marital status.

MethodOfContactList 

How contacts are made

OccupationList 

List of occupations with codes

PartnerStatusList 

List of statuses for partners

PartnerTypeList 

List of all possible special types for a partner.

ProposalStatusList 

Foundation proposal status codes and descriptions

ProposalSubmissionTypeList 

Submission type for foundation proposals e.g. EMAIL, LETTER.

RelationList 

List of relationships between partners. Relations occur in one direction only. The relation code is used in the p_partner_relationship record.

RelationCategoryList 

This table contains the codes that indicate the categories of relations (grouping).

UnitTypeList 

General information about the unit such as unit type and entry conference.

CountyList 

list of counties

FoundationOwnerList 

list of users that are associated with foundations

InstalledSitesList 

list of installed sites

CountryListFromExistingLocations 

list of countries that are actually used in the database (smaller than the full country list)

DataLabelsForPartnerClassesList 

list of available DataLabels for PartnerClasses

ContactCategoryList 

list of Contact Categories (based on p_partner_attribute_category

ContactTypeList 

list of Contact Types (based on p_partner_attribute_type

PartnerAttributeSystemCategoryList 

list of Partner Attribute Categories that are System Categories (based on p_partner_attribute_category

PartnerAttributeSystemCategoryTypeList 

list of Partner Attribute Types that are Types of System Categories (based on p_partner_attribute_type

◆ TCacheablePersonTablesEnum

Enums holding the possible cacheable tables for the Petra Personnel Module, specifically Person submodule

Enumerator
CommitmentStatusList 

Contains the statuses that are be used for commitments

DocumentTypeList 

Contains the codes that indicate the types of documents for a person

DocumentTypeCategoryList 

Contains the codes that indicate the categories of document types (grouping)

AbilityAreaList 

Contains the codes that indicate the areas of ability for a Person

AbilityLevelList 

Contains the degrees to which an ability is possessed, e.g. a little or professional

ApplicantStatusList 

Contains the different codes that indicate where an applicant is in the application continuum

ApplicationTypeList 

Contains the different codes that indicate the type of application

ArrivalDeparturePointList 

Contains the codes used to indicate where the conferee is arriving or departing

EventRoleList 

Contains the codes that indicate a person's role and/or position at conferences and outreaches

ContactList 

Contains the various methods by which a person learns of our organsiation. This table can be changed to fit any field's partiular awareness programs

LanguageLevelList 

Contains the degrees to which a language is spoken, e.g. a little, phrases, fluent

LeadershipRatingList 

Contains the codes indicating the leadership potential of someone

PassportTypeList 

Contains the codes that indicate the type of passport a person holds

TransportTypeList 

Contains the codes that indicate the mode of travel being used

QualificationAreaList 

Contains the areas in which a person may posess a qualification, e.g. computing or accountancy

QualificationLevelList 

Contains the levels to which a qualifications is possessed, e.g. Secondary education, Master's Degree

SkillCategoryList 

Contains the categories in which a person may posess a skill, e.g. music or leading small groups

SkillLevelList 

Contains the levels to which a skill is possessed, e.g. beginner or accomplished

OutreachPreferenceLevelList 

Describes the importance of the country and target choices

EventApplicationTypeList 

Contains application types for event (short term) applications

FieldApplicationTypeList 

Contains application types for field (long term) applications

◆ TCacheableSubscriptionsTablesEnum

Enums holding the possible cacheable tables for the Petra Partner Module, specifically Subscriptions submodule

Enumerator
PublicationList 

Details of a publication

PublicationCostList 

Cost of a publication

ReasonSubscriptionGivenList 

List of reasons for giving a subscription

ReasonSubscriptionCancelledList 

List of reasons for cancelling a subscription

PublicationInfoList 

available publications

◆ TCacheableSysManTablesEnum

Enums holding the possible cacheable tables for the Petra SysMan Module, specifically SysMan submodule

Enumerator
LanguageSpecificList 

Definitions of fields that are language specific.

UserList 

todoComment

◆ TCacheableUnitTablesEnum

Enums holding the possible cacheable tables for the Petra Personnel Module, specifically Unit submodule

Enumerator
PositionList 

Contains the different position which exist within our organisation, e.g. Field Leader, Book Keeper, Computer support

JobAssignmentTypeList 

Describes whether a person is full-time, part-time, etc

OutreachList 

List of all outreaches

ConferenceList 

List of all conferences

◆ TLastPartnerUse

where the partner was accessed the last time

Enumerator
lpuMailroomPartner 

mailroom department

lpuPersonnelPerson 

personnel department

lpuPersonnelUnit 

as a unit

lpuConferencePerson 

for a conference

◆ TModule

enumeration of values for items that can be associated with modules

Enumerator
mPartner 

Partner module

mFinance 

Finance module

mPersonnel 

Personnel module

mFinDev 

Financial Development module

mSysMan 

System Manager module

mConference 

ConferenceModule

◆ TPartnerClass

partner classes

Enumerator
PERSON 

person (required for personnel, date of birth, etc

FAMILY 

family is the default class for any supporter etc

CHURCH 

church group

ORGANISATION 

organisation, company

BANK 

bank

UNIT 

unit, conference, project

VENUE 

venue for conference

◆ TSequenceNames

sequences that can be used with the MCommon WebConnector TSequenceWebConnector

Enumerator
seq_application 

see petra.xml

seq_contact 

see petra.xml

seq_extract_number 

see petra.xml

seq_location_number 

see petra.xml

seq_pe_evaluation_number 

see petra.xml

seq_report_number 

see petra.xml

seq_general_ledger_master 

see petra.xml

seq_budget 

see petra.xml

seq_bank_details 

see petra.xml

seq_document 

see petra.xml

seq_past_experience 

see petra.xml

seq_staff_data 

see petra.xml

seq_job 

see petra.xml

seq_job_assignment 

see petra.xml

seq_data_label 

see petra.xml

seq_foundation_proposal 

see petra.xml

seq_proposal_detail 

see petra.xml

seq_form_letter_insert 

see petra.xml

seq_workflow 

see petra.xml

seq_file_info 

see petra.xml

seq_person_skill 

see petra.xml

seq_booking 

see petra.xml

seq_room_alloc 

see petra.xml

seq_ar_invoice 

see petra.xml

seq_match_number 

see petra.xml

seq_statement_number 

see petra.xml

seq_ap_document 

AP Document Reference

seq_partner_attribute_index 

see petra.xml

◆ TStdAddresseeTypeCode

type of addressee

Enumerator
satcFEMALE 

female

satcMALE 

male

satcCHURCH 

church

satcCOUPLE 

couple

satcDEFAULT 

default

satcFAMILY 

family

satcORGANISA 

organisation, company

◆ TStdPartnerStatusCode

partner status

Enumerator
spscACTIVE 

active

spscINACTIVE 

inactive

spscDIED 

partner has died

spscMERGED 

partner has been merged into another partner

spscPRIVATE 

partner is private to only one user; deprecated

◆ TTableAccessPermission

table access permissions

Enumerator
tapINQUIRE 

read access

tapMODIFY 

write access

tapCREATE 

can create new rows

tapDELETE 

can delete rows

Function Documentation

◆ TDelegateSendClientTask()

delegate Int32 Ict.Petra.Shared.TDelegateSendClientTask ( System.Int32  AClientID,
String  ATaskGroup,
String  ATaskCode,
System.Object  ATaskParameter1,
System.Object  ATaskParameter2,
System.Object  ATaskParameter3,
System.Object  ATaskParameter4,
System.Int16  ATaskPriority,
System.Int32  AExceptClientID 
)

This Delegate is used for sending a ClientTask to all other Clients to tell them to reload a certain Cacheable DataTable (used only if the TCacheableTablesManager is instantiated by PetraServer, but not if it is instantiated by the PetraClient).

◆ TGetCacheableDataTableFromCache()

delegate DataTable Ict.Petra.Shared.TGetCacheableDataTableFromCache ( String  ACacheableTableName,
out System.Type  AType 
)

Delegate for both client- and serverside use to retrieve a DataTable of the data cache (client- or serverside).