/// <summary> /// Called when data got saved in the screen. This Method takes over changed data /// into FMainDS, which is different than the Partner Edit screen's FMainDS, in /// order to have current data on which decisions on whether to refresh certain /// parts of the 'Overview' need to be updated. /// </summary> /// <param name="APartnerAttributesOrRelationsChanged">NOT USED IN THIS CONTEXT! (Set to true by the SaveChanges Method /// of the Partner Edit screen if PartnerAttributes or Relationships have changed.)</param> public void RefreshPersonnelDataAfterMerge(bool APartnerAttributesOrRelationsChanged) { // // Need to merge Tables from PartnerEditTDS into IndividualDataTDS so the updated s_modification_id_t of modififed Rows is held correctly in IndividualDataTDS, too! // // ...but first empty relevant DataTables to ensure that DataRows that got deleted in FPartnerEditTDS are reflected in FMainDS (just performing a Merge wouldn't remove them!) if (FMainDS.Tables.Contains(PPartnerLocationTable.GetTableName())) { FMainDS.Tables[PPartnerLocationTable.GetTableName()].Rows.Clear(); } if (FMainDS.Tables.Contains(PLocationTable.GetTableName())) { FMainDS.Tables[PLocationTable.GetTableName()].Rows.Clear(); } if (FMainDS.Tables.Contains(PPartnerRelationshipTable.GetTableName())) { FMainDS.Tables[PPartnerRelationshipTable.GetTableName()].Rows.Clear(); } // Now perform the Merge operation FMainDS.Merge(FPartnerEditTDS); // Call AcceptChanges on IndividualDataTDS so that we don't have any changed data anymore (this is done to PartnerEditTDS, too, after this Method returns)! FMainDS.AcceptChanges(); }