コード例 #1
0
        /// <summary>
        /// After mapping workbooks table completed, we will try to update reference of general_insurance table
        /// </summary>
        /// <param name="manager"></param>
        /// <param name="sourceDatabase"></param>
        /// <param name="destinationDatabase"></param>
        /// <param name="dataConversionReflection"></param>
        public override void AfterMapping(MappingManager manager, SourceDatabase sourceDatabase, DestinationDatabase destinationDatabase)
        {
            //
            // First, try to get share data
            Dictionary <int, int?> shareData = ManualMappingDropBox.GetData("general_insurance") as Dictionary <int, int?>;

            if (shareData == null)
            {
                LogService.Log.Error("Can not get share data from general_insurance table.");
                return;
            }


            //
            // Then try to load new record in general_insurance table (In destination database)
            // To re-update reference
            if (manager.IsGeneratedScript)
            {
                this.UpdateGeneralInsuranceBySQLScript(manager, sourceDatabase, destinationDatabase, shareData);
            }
            else
            {
                DatabaseConversion.CleanerTool.BOALedgerDataAccess.BOALedgerEntities        dbContext   = destinationDatabase.GetNewDbContext() as DatabaseConversion.CleanerTool.BOALedgerDataAccess.BOALedgerEntities;
                List <DatabaseConversion.CleanerTool.BOALedgerDataAccess.general_insurance> listRecords = dbContext.general_insurance.ToList();
                foreach (DatabaseConversion.CleanerTool.BOALedgerDataAccess.general_insurance record in listRecords)
                {
                    if (shareData.ContainsKey(record.genins_id))
                    {
                        record.genins_current_workbook = shareData[record.genins_id];
                    }
                }
                dbContext.SaveChanges();
            }



            //
            // Release memory
            shareData = null;
            ManualMappingDropBox.ReleaseData("general_insurance");
        }
コード例 #2
0
        /// <summary>
        /// Do some stuffs before commit new value to destination database
        /// </summary>
        /// <param name="manager"></param>
        /// <param name="sourceDatabase"></param>
        /// <param name="destinationDatabase"></param>
        /// <param name="listNewRecord"></param>
        public override void BeforeCommitChanges(MappingManager manager, SourceDatabase sourceDatabase, DestinationDatabase destinationDatabase, List <object> listNewRecord)
        {
            //
            // Initialize for sharing data
            Dictionary <int, int?> shareData = new Dictionary <int, int?>();


            //
            // Loop and set null
            foreach (object obj in listNewRecord)
            {
                DatabaseConversion.CleanerTool.BOALedgerDataAccess.general_insurance record = obj as DatabaseConversion.CleanerTool.BOALedgerDataAccess.general_insurance;
                if (record.genins_current_workbook != null)
                {
                    shareData.Add(record.genins_id, record.genins_current_workbook);
                    record.genins_current_workbook = null;
                }
            }


            //
            // Share data for ManualMapping_workbooks
            ManualMappingDropBox.ShareData("general_insurance", shareData);
        }