Ejemplo n.º 1
0
            public object Clone()
            {
                IFeatureRenderer renderer = _renderer.Clone() as IFeatureRenderer;

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;
                return(scaleRenderer);
            }
Ejemplo n.º 2
0
        static async Task Main(string[] args)
        {
            var dryRun = args.Length == 0 || args[0] != "run";

            Console.WriteLine($"Mongo Migrator, dry-run={dryRun}");
            Console.WriteLine();

            var config = new ConfigFactory().Get();

            Console.WriteLine($"from: {config.GetConnectionString("pgDb")}");
            Console.WriteLine($"to: {config.GetConnectionString("mongoDb")}");
            Console.WriteLine();

            var(pgTaskRepo, pgPlannedRecurrenceRepo, pgRecurrenceRepo) = new RepoFactoryPg().CreateRepos(config);
            var(mongoTaskRepo, mongoPlannedRecurrenceRepo)             = new RepoFactoryMongo().CreateRepos(config);
            var scaleRenderer = new ScaleRenderer();

            var totalTasks = pgTaskRepo.GetAll().Count();
            var totalPlannedRecurrences = pgPlannedRecurrenceRepo.GetAll().Count();
            var totalRecurrences        = pgRecurrenceRepo.GetAll().Count();

            Console.WriteLine($"{totalTasks}\ttasks found");
            Console.WriteLine($"{totalPlannedRecurrences}\tplanned recurrences found");
            Console.WriteLine($"{totalRecurrences}\trecurrences found");
            Console.WriteLine();

            Console.WriteLine("syncing tasks...");
            scaleRenderer.Prepare(totalTasks);
            var(tasksCreated, tasksUpdated, tasksWarning) = await new ProcessorTasks(pgTaskRepo, mongoTaskRepo, dryRun, scaleRenderer.RenderProgress).Process();
            Console.WriteLine($"{tasksCreated}\ttasks created");
            Console.WriteLine($"{tasksUpdated}\ttasks updated");
            Console.WriteLine($"{tasksWarning}\ttasks warning");
            Console.WriteLine($"{tasksCreated + tasksUpdated}/{totalTasks}");
            Console.WriteLine();

            Console.WriteLine("syncing planned recurrences...");
            scaleRenderer.Prepare(totalPlannedRecurrences);
            var(plannedRecurrencesCreated, plannedRecurrencesUpdated, plannedRecurrencesWarning) = await new ProcessorPlannedRecurrences(pgPlannedRecurrenceRepo, mongoPlannedRecurrenceRepo, dryRun, scaleRenderer.RenderProgress).Process();
            Console.WriteLine($"{plannedRecurrencesCreated}\tplanned recurrences created");
            Console.WriteLine($"{plannedRecurrencesUpdated}\tplanned recurrences updated");
            Console.WriteLine($"{plannedRecurrencesWarning}\tplanned recurrences warning");
            Console.WriteLine($"{plannedRecurrencesCreated + plannedRecurrencesUpdated}/{totalPlannedRecurrences}");
            Console.WriteLine();

            Console.WriteLine("syncing recurrences...");
            scaleRenderer.Prepare(totalRecurrences);
            var(recurrencesCreated, recurrencesSkipped, recurrencesWarning) = await new ProcessorRecurrences(pgRecurrenceRepo, mongoPlannedRecurrenceRepo, dryRun, scaleRenderer.RenderProgress).Process();
            Console.WriteLine($"{recurrencesCreated}\trecurrences created");
            Console.WriteLine($"{recurrencesSkipped}\trecurrences skipped");
            Console.WriteLine($"{recurrencesWarning}\trecurrences warning");
            Console.WriteLine($"{recurrencesCreated + recurrencesSkipped}/{totalRecurrences}");
            Console.WriteLine();
        }
Ejemplo n.º 3
0
        public void Simplify()
        {
            if (_renderers == null)
            {
                return;
            }

            foreach (IFeatureRenderer renderer in _renderers)
            {
                if (renderer is ISimplify)
                {
                    ((ISimplify)renderer).Simplify();
                }
            }

            #region SimpleRenderer zusammenfassen
            bool allSimpleRenderers = true;
            foreach (IRenderer renderer in _renderers)
            {
                if (!(renderer is ScaleRenderer) && (((ScaleRenderer)renderer).Renderer is SimpleRenderer))
                {
                    allSimpleRenderers = false;
                    break;
                }
            }

            if (allSimpleRenderers && _renderers.Count > 1)
            {
                ScaleRenderer renderer = (ScaleRenderer)_renderers[0];
                if (_renderers.Count > 1)
                {
                    ISymbolCollection symCol = PlugInManager.Create(new Guid("062AD1EA-A93C-4c3c-8690-830E65DC6D91")) as ISymbolCollection;
                    foreach (IRenderer sRenderer in _renderers)
                    {
                        if (((SimpleRenderer)((ScaleRenderer)sRenderer).Renderer).Symbol != null)
                        {
                            symCol.AddSymbol(((SimpleRenderer)((ScaleRenderer)sRenderer).Renderer).Symbol);
                        }
                    }
                    ((SimpleRenderer)((ScaleRenderer)renderer).Renderer).Symbol = (ISymbol)symCol;
                    _renderers.Clear();
                    _renderers.Add(renderer);
                }
            }
            #endregion

            ShrinkScaleRenderes();
        }
Ejemplo n.º 4
0
            public object Clone(CloneOptions options)
            {
                if (_renderer == null)
                {
                    return(null);
                }
                IFeatureRenderer renderer = _renderer.Clone(options) as IFeatureRenderer;

                if (renderer == null)
                {
                    return(null);
                }

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;

                return(scaleRenderer);
            }
Ejemplo n.º 5
0
            public object Clone(IDisplay display)
            {
                if (_renderer == null)
                {
                    return(null);
                }
                ILabelRenderer renderer = _renderer.Clone(display) as ILabelRenderer;

                if (renderer == null)
                {
                    return(null);
                }

                ScaleRenderer scaleRenderer = new ScaleRenderer(renderer);

                scaleRenderer._minScale = _minScale;
                scaleRenderer._maxScale = _maxScale;

                return(scaleRenderer);
            }
Ejemplo n.º 6
0
        public void ShrinkScaleRenderes()
        {
            if (_renderers == null)
            {
                return;
            }

            for (int i = 0; i < _renderers.Count; i++)
            {
                ScaleRenderer sRenderer = _renderers[i] as ScaleRenderer;
                for (int j = i + 1; j < _renderers.Count; j++)
                {
                    ScaleRenderer sRenderCand = _renderers[j] as ScaleRenderer;

                    if (sRenderer.Combine(sRenderCand))
                    {
                        _renderers.RemoveAt(j);
                        j--;
                    }
                }
            }
        }
Ejemplo n.º 7
0
 public ScaleRendererPersist(ScaleRenderer scaleRenderer)
 {
     _renderer = scaleRenderer;
 }