/// create a new church public static PPartnerRow CreateNewChurchPartner(PartnerEditTDS AMainDS) { PPartnerRow PartnerRow = CreateNewPartner(AMainDS); // make sure denomation "UNKNOWN" exists as this is the default value if (!PDenominationAccess.Exists("UNKNOWN", DBAccess.GDBAccessObj.Transaction)) { PDenominationTable DenominationTable = new PDenominationTable(); PDenominationRow DenominationRow = DenominationTable.NewRowTyped(); DenominationRow.DenominationCode = "UNKNOWN"; DenominationRow.DenominationName = "Unknown"; DenominationTable.Rows.Add(DenominationRow); PDenominationAccess.SubmitChanges(DenominationTable, DBAccess.GDBAccessObj.Transaction); } PartnerRow.PartnerClass = MPartnerConstants.PARTNERCLASS_CHURCH; PartnerRow.PartnerShortName = PartnerRow.PartnerKey.ToString() + ", TestChurch"; PChurchRow ChurchRow = AMainDS.PChurch.NewRowTyped(); ChurchRow.PartnerKey = PartnerRow.PartnerKey; ChurchRow.ChurchName = "TestChurch"; ChurchRow.DenominationCode = "UNKNOWN"; AMainDS.PChurch.Rows.Add(ChurchRow); return(PartnerRow); }
/// create a new church public static PPartnerRow CreateNewChurchPartner(PartnerEditTDS AMainDS, TDataBase ADataBase = null) { PPartnerRow PartnerRow = CreateNewPartner(AMainDS, ADataBase); TDataBase db = DBAccess.Connect("CreateNewChurchPartner", ADataBase); TDBTransaction Transaction = db.BeginTransaction(IsolationLevel.Serializable); // make sure denomination "UNKNOWN" exists as this is the default value if (!PDenominationAccess.Exists("UNKNOWN", Transaction)) { PDenominationTable DenominationTable = new PDenominationTable(); PDenominationRow DenominationRow = DenominationTable.NewRowTyped(); DenominationRow.DenominationCode = "UNKNOWN"; DenominationRow.DenominationName = "Unknown"; DenominationTable.Rows.Add(DenominationRow); PDenominationAccess.SubmitChanges(DenominationTable, Transaction); Transaction.Commit(); } else { Transaction.Rollback(); } PartnerRow.PartnerClass = MPartnerConstants.PARTNERCLASS_CHURCH; PartnerRow.PartnerShortName = PartnerRow.PartnerKey.ToString() + ", TestChurch"; PChurchRow ChurchRow = AMainDS.PChurch.NewRowTyped(); ChurchRow.PartnerKey = PartnerRow.PartnerKey; ChurchRow.ChurchName = "TestChurch"; ChurchRow.DenominationCode = "UNKNOWN"; AMainDS.PChurch.Rows.Add(ChurchRow); return(PartnerRow); }
private void ValidateDataManual(PChurchRow ARow) { TVerificationResultCollection VerificationResultCollection = FPetraUtilsObject.VerificationResultCollection; TSharedPartnerValidation_Partner.ValidatePartnerChurchManual(this, ARow, TDataCache.GetCacheableDataTableFromCache("DenominationList"), ref VerificationResultCollection, FValidationControlsDict); }
/// <summary> /// Validates the Partner Detail data of a Partner of PartnerClass CHURCH. /// </summary> /// <param name="AContext">Context that describes where the data validation failed.</param> /// <param name="ARow">The <see cref="DataRow" /> which holds the the data against which the validation is run.</param> /// <param name="ADenominationCacheableDT">The contents of the Cacheable DataTable 'DenominationList'.</param> /// <param name="AVerificationResultCollection">Will be filled with any <see cref="TVerificationResult" /> items if /// data validation errors occur.</param> /// <param name="AValidationControlsDict">A <see cref="TValidationControlsDict" /> containing the Controls that /// display data that is about to be validated.</param> /// <returns>void</returns> public static void ValidatePartnerChurchManual(object AContext, PChurchRow ARow, DataTable ADenominationCacheableDT, ref TVerificationResultCollection AVerificationResultCollection, TValidationControlsDict AValidationControlsDict) { DataColumn ValidationColumn; TValidationControlsData ValidationControlsData; TVerificationResult VerificationResult = null; // Don't validate deleted DataRows if (ARow.RowState == DataRowState.Deleted) { return; } // Special check: 'Denominations' must exist and must not be unassignable! ValidationColumn = ARow.Table.Columns[PChurchTable.ColumnDenominationCodeId]; if (AValidationControlsDict.TryGetValue(ValidationColumn, out ValidationControlsData)) { if (ADenominationCacheableDT != null) { if (ADenominationCacheableDT.Rows.Count == 0) { VerificationResult = new TScreenVerificationResult(new TVerificationResult(AContext, ErrorCodes.GetErrorInfo(PetraErrorCodes.ERR_NO_DENOMINATIONS_SET_UP, String.Empty)), ValidationColumn, ValidationControlsData.ValidationControl); } } // Handle addition to/removal from TVerificationResultCollection AVerificationResultCollection.Auto_Add_Or_AddOrRemove(AContext, VerificationResult, ValidationColumn); // 'Denomination' must be valid PDenominationTable DenominationTable; PDenominationRow DenominationRow = null; VerificationResult = null; if (!ARow.IsDenominationCodeNull()) { DenominationTable = (PDenominationTable)TSharedDataCache.TMPartner.GetCacheablePartnerTableDelegate( TCacheablePartnerTablesEnum.DenominationList); DenominationRow = (PDenominationRow)DenominationTable.Rows.Find(ARow.DenominationCode); // 'Denomination' must be valid if ((DenominationRow != null) && !DenominationRow.ValidDenomination) { // if 'Denomination' is invalid then check if the value has been changed or if it is a new record if (TSharedValidationHelper.IsRowAddedOrFieldModified(ARow, PChurchTable.GetDenominationCodeDBName())) { VerificationResult = new TScreenVerificationResult(new TVerificationResult(AContext, ErrorCodes.GetErrorInfo(PetraErrorCodes.ERR_VALUEUNASSIGNABLE_WARNING, new string[] { ValidationControlsData.ValidationControlLabel, ARow.DenominationCode })), ValidationColumn, ValidationControlsData.ValidationControl); } } } // Handle addition/removal to/from TVerificationResultCollection AVerificationResultCollection.Auto_Add_Or_AddOrRemove(AContext, VerificationResult, ValidationColumn); } }