Exemple #1
0
        public SmugglerResult Execute(bool ensureStepsProcessed = true)
        {
            var result = _result ?? new SmugglerResult();

            using (_patcher?.Initialize())
                using (_source.Initialize(_options, result, out long buildVersion))
                    using (_destination.Initialize(_options, result, buildVersion))
                    {
                        var buildType   = BuildVersion.Type(buildVersion);
                        var currentType = _source.GetNextType();
                        while (currentType != DatabaseItemType.None)
                        {
                            ProcessType(currentType, result, buildType, ensureStepsProcessed);

                            currentType = _source.GetNextType();
                        }

                        if (ensureStepsProcessed)
                        {
                            EnsureProcessed(result);
                        }

                        return(result);
                    }
        }