コード例 #1
0
        public static void ProcessMergeTables(DAL master,
                                              IEnumerable <ComponentFile> components,
                                              IEnumerable <MergeTableCommandBuilder> commandBuilders,
                                              CancellationToken cancellation,
                                              IProgress <int> progress,
                                              IMergeLog log)
        {
            log?.StartJob();
            master.BeginTransaction();
            try
            {
                foreach (MergeTableCommandBuilder cmdBldr in commandBuilders)
                {
                    cancellation.ThrowIfCancellationRequested();
                    ProcessMergeTable(master, cmdBldr, components, log);
                }

                master.CommitTransaction();
                log?.EndJob();
            }
            catch
            {
                master.RollbackTransaction();
                throw;
            }
        }
コード例 #2
0
        public static void PopulateMergeTables(
            DAL master,
            IEnumerable <ComponentFile> components,
            IEnumerable <MergeTableCommandBuilder> commandBuilders,
            CancellationToken cancellation,
            IProgress <int> progress,
            IMergeLog log)
        {
            log?.StartJob();

            foreach (var comp in components)
            {
                PopulateMergeTables(master, comp, commandBuilders, cancellation, progress, log);
            }
            log?.EndJob();
        }