/// <summary>
        /// Verify and if necessary update partner data in an extract
        /// </summary>
        public static void VerifyAndUpdateExtract(System.Windows.Forms.Form AForm, int AExtractId)
        {
            ExtractTDSMExtractTable ExtractTable;
            bool ChangesMade;

            // retrieve contents of extract from server
            ExtractTable = TRemote.MPartner.Partner.WebConnectors.GetExtractRowsWithPartnerData(AExtractId);

            VerifyAndUpdateExtract(AForm, ref ExtractTable, out ChangesMade);

            foreach (DataRow InspectDR in ExtractTable.Rows)
            {
                InspectDR.EndEdit();
            }

            TSubmitChangesResult SubmissionResult;

            MExtractTable SubmitDT = new MExtractTable();

            if (ExtractTable.GetChangesTyped() != null)
            {
                SubmitDT.Merge(ExtractTable.GetChangesTyped());
            }

            if ((SubmitDT.Rows.Count == 0) ||
                !ChangesMade)
            {
                MessageBox.Show(Catalog.GetString("Extract was already up to date"),
                                Catalog.GetString("Verify and Update Extract"),
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Information);

                // return if no changes were made
                return;
            }

            // Submit changes to the PETRAServer
            SubmissionResult = TRemote.MPartner.Partner.WebConnectors.SaveExtract
                                   (AExtractId, ref SubmitDT);

            if (SubmissionResult == TSubmitChangesResult.scrError)
            {
                MessageBox.Show(Catalog.GetString("Verify and Update of Extract failed"),
                                Catalog.GetString("Verify and Update Extract"),
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show(Catalog.GetString("Verification and Update of Extract was successful"),
                                Catalog.GetString("Verify and Update Extract"),
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
        }
Esempio n. 2
0
 public HyperExtract(string destinationFilename, string customTempDirectoryPath = null, string customLogDirectoryPath = null)
 {
     extract = InitializeExtract(destinationFilename, customTempDirectoryPath, customLogDirectoryPath);
     table   = InitializeTable(extract);
 }