/// <summary> /// Returns the Family Members of a Family. /// </summary> /// <param name="AFamilyPartnerKey">PartnerKey of the FAMILY.</param> /// <param name="AReadTransaction">Open DB Transaction.</param> /// <returns>An Instance of <see cref="PartnerInfoTDSFamilyMembersTable" />. /// If there were Family Members, there will be one DataRow for each Family Member.</returns> private static PartnerInfoTDSFamilyMembersTable GetFamilyMembers(Int64 AFamilyPartnerKey, TDBTransaction AReadTransaction) { OdbcParameter[] ParametersArray; DataSet TmpDS; PPersonTable FamilyPersonsDT; PartnerInfoTDSFamilyMembersRow NewRow; PartnerInfoTDSFamilyMembersTable FamilyMembersDT; FamilyMembersDT = new PartnerInfoTDSFamilyMembersTable(); ParametersArray = new OdbcParameter[1]; ParametersArray[0] = new OdbcParameter("", OdbcType.Decimal, 10); ParametersArray[0].Value = (System.Object)AFamilyPartnerKey; TmpDS = new DataSet(); FamilyPersonsDT = new PPersonTable(); TmpDS.Tables.Add(FamilyPersonsDT); AReadTransaction.DataBaseObj.Select(TmpDS, "SELECT " + "PUB_" + PPartnerTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + ", " + PPersonTable.GetFamilyNameDBName() + ", " + PPersonTable.GetTitleDBName() + ", " + PPersonTable.GetFirstNameDBName() + ", " + PPersonTable.GetMiddleName1DBName() + ", " + PPersonTable.GetFamilyIdDBName() + ' ' + "FROM PUB_" + PPersonTable.GetTableDBName() + " INNER JOIN " + "PUB_" + PPartnerTable.GetTableDBName() + " ON " + "PUB_" + PPersonTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + " = " + "PUB_" + PPartnerTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + ' ' + "WHERE " + PPersonTable.GetFamilyKeyDBName() + " = ? " + "AND " + PPartnerTable.GetStatusCodeDBName() + " <> '" + SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscMERGED) + "' " + // Make sure we don't load MERGED Partners (shouldn't have a p_family_key_n, but just in case.) "ORDER BY " + PPersonTable.GetFamilyIdDBName() + " ASC", PPersonTable.GetTableName(), AReadTransaction, ParametersArray, 0, 0); // Add Persons to Table for (Int32 Counter = 0; Counter <= FamilyPersonsDT.Rows.Count - 1; Counter += 1) { NewRow = FamilyMembersDT.NewRowTyped(false); NewRow.PartnerKey = FamilyPersonsDT[Counter].PartnerKey; NewRow.PartnerShortName = Calculations.DeterminePartnerShortName(TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnFamilyName, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnTitle, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnFirstName, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnMiddleName1, FamilyPersonsDT[Counter])); NewRow.FamilyId = FamilyPersonsDT[Counter].FamilyId; FamilyMembersDT.Rows.Add(NewRow); } return(FamilyMembersDT); }
/// <summary> /// Returns the Family Members of a Family. /// </summary> /// <param name="AFamilyPartnerKey">PartnerKey of the FAMILY.</param> /// <param name="AReadTransaction">Open DB Transaction.</param> /// <returns>An Instance of <see cref="PartnerInfoTDSFamilyMembersTable" />. /// If there were Family Members, there will be one DataRow for each Family Member.</returns> private static PartnerInfoTDSFamilyMembersTable GetFamilyMembers(Int64 AFamilyPartnerKey, TDBTransaction AReadTransaction) { OdbcParameter[] ParametersArray; DataSet TmpDS; PPersonTable FamilyPersonsDT; PartnerInfoTDSFamilyMembersRow NewRow; PartnerInfoTDSFamilyMembersTable FamilyMembersDT; FamilyMembersDT = new PartnerInfoTDSFamilyMembersTable(); ParametersArray = new OdbcParameter[1]; ParametersArray[0] = new OdbcParameter("", OdbcType.Decimal, 10); ParametersArray[0].Value = (System.Object)AFamilyPartnerKey; TmpDS = new DataSet(); FamilyPersonsDT = new PPersonTable(); TmpDS.Tables.Add(FamilyPersonsDT); DBAccess.GDBAccessObj.Select(TmpDS, "SELECT " + "PUB_" + PPartnerTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + ", " + PPersonTable.GetFamilyNameDBName() + ", " + PPersonTable.GetTitleDBName() + ", " + PPersonTable.GetFirstNameDBName() + ", " + PPersonTable.GetMiddleName1DBName() + ", " + PPersonTable.GetFamilyIdDBName() + ' ' + "FROM PUB_" + PPersonTable.GetTableDBName() + " INNER JOIN " + "PUB_" + PPartnerTable.GetTableDBName() + " ON " + "PUB_" + PPersonTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + " = " + "PUB_" + PPartnerTable.GetTableDBName() + '.' + PPartnerTable.GetPartnerKeyDBName() + ' ' + "WHERE " + PPersonTable.GetFamilyKeyDBName() + " = ? " + "AND " + PPartnerTable.GetStatusCodeDBName() + " <> '" + SharedTypes.StdPartnerStatusCodeEnumToString(TStdPartnerStatusCode.spscMERGED) + "' " + // Make sure we don't load MERGED Partners (shouldn't have a p_family_key_n, but just in case.) "ORDER BY " + PPersonTable.GetFamilyIdDBName() + " ASC", PPersonTable.GetTableName(), AReadTransaction, ParametersArray, 0, 0); // Add Persons to Table for (Int32 Counter = 0; Counter <= FamilyPersonsDT.Rows.Count - 1; Counter += 1) { NewRow = FamilyMembersDT.NewRowTyped(false); NewRow.PartnerKey = FamilyPersonsDT[Counter].PartnerKey; NewRow.PartnerShortName = Calculations.DeterminePartnerShortName(TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnFamilyName, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnTitle, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnFirstName, FamilyPersonsDT[Counter]), TSaveConvert.StringColumnToString(FamilyPersonsDT.ColumnMiddleName1, FamilyPersonsDT[Counter])); NewRow.FamilyId = FamilyPersonsDT[Counter].FamilyId; FamilyMembersDT.Rows.Add(NewRow); } return FamilyMembersDT; }