Exemplo n.º 1
0
        public void CreateBasicTransform()
        {
            using (var pc = new ProjContext())
            {
                using (var crs1 = CoordinateReferenceSystem.Create("EPSG:25832", pc))
                    using (var crs2 = CoordinateReferenceSystem.Create("EPSG:25833", pc))
                    {
                        Assert.AreEqual(ProjType.ProjectedCrs, crs1.Type);
                        Assert.AreEqual(ProjType.ProjectedCrs, crs2.Type);

                        using (var t = CoordinateTransform.Create(crs1, crs2))
                        {
                            CoordinateTransformList steps = t as CoordinateTransformList;
                            Assert.IsNotNull(steps);

                            Assert.AreEqual(2, steps.Count);
                            Assert.AreEqual("Inverse of Transverse Mercator", steps[0].MethodName);
                            Assert.AreEqual("Transverse Mercator", steps[1].MethodName);

                            Assert.AreEqual("Inverse of UTM zone 32N + UTM zone 33N", t.Name);

                            using (var tr = t.CreateInverse())
                            {
                                Assert.AreEqual("Inverse of UTM zone 33N + UTM zone 32N", tr.Name);
                            }
                        }

                        using (var t = CoordinateTransform.Create(crs2, crs1))
                        {
                            Assert.AreEqual("Inverse of UTM zone 33N + UTM zone 32N", t.Name);
                        }
                    }
            }
        }
Exemplo n.º 2
0
        private void LoadResourcesList()
        {
            IEnumerable <EnterpriseResource> resourcesList = ProjContext.LoadQuery(ProjContext.EnterpriseResources.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut));

            ProjContext.ExecuteQuery();

            List <ListViewItem> listViewItems = new List <ListViewItem>();

            foreach (EnterpriseResource res in resourcesList)
            {
                ListViewItem lvi = new ListViewItem(res.Id.ToString());
                lvi.SubItems.Add(res.Name);
                lvi.SubItems.Add(res.IsCheckedOut.ToString());
                lvi.Tag = res;
                Log.WriteVerbose(new SourceInfo(), TB_Status, "Found Resource {0}", res.Name);
                listViewItems.Add(lvi);
            }
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.Clear();
                s.Columns.Clear();
                s.Columns.Add(new ColumnHeader {
                    Text = "Id", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Name", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut", DisplayIndex = 0, Width = 20
                });
                s.Items.AddRange(listViewItems.ToArray());
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });
        }
Exemplo n.º 3
0
        public void TestCopenhagen()
        {
            var ctx = new ProjContext();
            var src = CoordinateReferenceSystem.Create("EPSG:4326", ctx);
            var dst = CoordinateReferenceSystem.Create(/*"+proj=utm +zone=32 +datum=WGS84" or */ "EPSG:32632", ctx);

            Assert.AreEqual("WGS 84", src.Name);
            Assert.AreEqual("WGS 84 / UTM zone 32N", dst.Name);

            var t = CoordinateTransform.Create(src, dst, ctx);

            var t2 = CoordinateTransform.Create(src.WithAxisNormalized(), dst.WithAxisNormalized(), ctx);


            var p = t2.ApplyReversed(new double[] { 12, 55 });

            Trace.WriteLine($"Easting: {p[0]}, Northing: {p[1]}");

            var r = t2.ApplyReversed(p);

            Trace.WriteLine($"Longitude: {r[0]}, Latitude: {r[1]}");


            var tt = CoordinateTransform.Create(src, src, null);

            Assert.AreEqual("Null geographic offset from WGS 84 to WGS 84", tt.Name);

            var ss = ctx.Create("+proj=utm +zone=32 +datum=WGS84 +ellps=clrk66");
        }
        private void GetDraftProjectsList()
        {
            LV_Projects.InvokeIfRequired(s => s.Items.Clear());
            IEnumerable <PublishedProject> projectList =
                ProjContext.LoadQuery(ProjContext.Projects.Include(p => p.Draft.Name, p => p.Draft.Id,
                                                                   p => p.IsCheckedOut));

            ProjContext.ExecuteQuery();
            PublishedProject[]  publishedProjects = projectList.ToArray();
            List <ListViewItem> listViewItems     = new List <ListViewItem>();

            foreach (PublishedProject project in publishedProjects)
            {
                ListViewItem lvi = new ListViewItem(project.Draft.Name)
                {
                    Tag = project
                };
                Log.WriteVerbose(new SourceInfo(), "Found Project:{0}", project.Draft.Name);
                listViewItems.Add(lvi);
            }
            LV_Projects.InvokeIfRequired(s =>
            {
                s.Columns[0].Text = $"Projects({publishedProjects.Length})";
                s.Items.AddRange(listViewItems.ToArray());
            });
        }
Exemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TGeometry"></typeparam>
        /// <param name="geometry"></param>
        /// <param name="toSrid"></param>
        /// <returns></returns>
        public static TGeometry Reproject <TGeometry>(this TGeometry geometry, SridItem toSrid)
            where TGeometry : Geometry
        {
            if (geometry == null)
            {
                return(null);
            }

            if (toSrid == null)
            {
                throw new ArgumentNullException(nameof(toSrid));
            }

            int srcSRID = geometry.SRID;

            if (srcSRID == 0)
            {
                throw new ArgumentOutOfRangeException(nameof(geometry), "Geometry doesn't have valid srid");
            }

            SridItem srcItem = SridRegister.GetByValue(srcSRID);

            using (ProjContext pc = toSrid.CRS.Context.Clone()) // Make thread-safe. Use settings from crs
                using (CoordinateTransform ct = CoordinateTransform.Create(srcItem, toSrid, pc))
                {
                    return(Reproject(geometry, ct, toSrid.Factory));
                }
        }
        private void LoadProjects()
        {
            CB_ProjectList.InvokeIfRequired(s =>
            {
                s.DataSource = null;
                s.Items.Clear();
            });

            IEnumerable <PublishedProject> projectList =
                ProjContext.LoadQuery(ProjContext.Projects.Include(p => p.Draft.Name, p => p.Draft, p => p.IsCheckedOut));

            ProjContext.ExecuteQuery();
            Dictionary <string, PublishedProject> projList = new Dictionary <string, PublishedProject>
            {
                { "Select a Project", null }
            };

            foreach (PublishedProject project in projectList)
            {
                projList.Add(project.Draft.Name, project);
            }
            CB_ProjectList.InvokeIfRequired(s =>
            {
                CB_ProjectList.SelectedIndexChanged += CB_ProjectList_SelectedIndexChanged;
                CB_ProjectList.DropDownStyle         = ComboBoxStyle.DropDown;
                CB_ProjectList.AutoCompleteMode      = AutoCompleteMode.SuggestAppend;
                CB_ProjectList.AutoCompleteSource    = AutoCompleteSource.ListItems;
                CB_ProjectList.DataSource            = new BindingSource(projList, null);
                CB_ProjectList.DisplayMember         = "Key";
                CB_ProjectList.ValueMember           = "Value";
            });
        }
Exemplo n.º 7
0
        private void DeleteResources()
        {
            List <EnterpriseResource> resourceList = new List <EnterpriseResource>();

            LV_ServerObjects.InvokeIfRequired(s =>
            {
                ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems;
                resourceList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (EnterpriseResource)selectedItem.Tag));
            });
            if (!resourceList.Any())
            {
                return;
            }
            resourceList.ForEach(r =>
            {
                if (r.IsCheckedOut)
                {
                    Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking in resource:{0}.", r.Name);
                    r.ForceCheckIn();
                }
                Log.WriteVerbose(new SourceInfo(), TB_Status, "Deleting resource:{0}.", r.Name);
                r.DeleteObject();
            });

            ProjContext.EnterpriseResources.Update();
            ProjContext.ExecuteQuery();

            Log.WriteVerbose(new SourceInfo(), TB_Status, _bgeResourcesDelete, "Refreshing Resources");
            LoadResources();
        }
Exemplo n.º 8
0
 public void EpsgVersionTest()
 {
     using (var pc = new ProjContext())
     {
         Assert.IsTrue(pc.Version >= new Version(7, 2, 1));
         Assert.IsTrue(pc.EpsgVersion >= new Version(10, 0));
     }
 }
Exemplo n.º 9
0
        private void CheckInCheckoutProjects()
        {
            List <PublishedProject> projectList = new List <PublishedProject>();

            LV_ServerObjects.InvokeIfRequired(s =>
            {
                ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems;
                projectList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (PublishedProject)selectedItem.Tag));
            });
            if (!projectList.Any())
            {
                return;
            }
            if (_checkin)
            {
                List <QueueJob> jobs = projectList.Where(s => s.IsCheckedOut).Select(p =>
                {
                    QueueJob job = null;
                    Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking in Project {0}", p.Name);
                    job = p.Draft.CheckIn(true);
                    return(job);
                }).ToList();

                if (jobs.Count <= 0)
                {
                    return;
                }
                Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Waiting for the Queue jobs to complete");
                CsomHelper.ExecuteAndWait(jobs, TB_Status);
                Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus, "Loading Projects");
                LoadProjects();
            }
            else
            {
                bool needExecute = false;
                projectList.ForEach(p =>
                {
                    if (p.IsCheckedOut)
                    {
                        return;
                    }
                    Log.WriteVerbose(new SourceInfo(), TB_Status, "Checking out Project {0}", p.Name);
                    p.CheckOut();
                    needExecute = true;
                });
                if (needExecute)
                {
                    ProjContext.ExecuteQuery();
                    LoadProjects();
                }
                else
                {
                    Log.WriteVerbose(new SourceInfo(), TB_Status, _backgroundExecutorWithStatus,
                                     "All selected projects are in checked out state.");
                }
            }
        }
Exemplo n.º 10
0
        public void Delete()
        {
            InitializeDataBase();

            using (var context = new ProjContext(options)) {
                AtividadesController atividadesController = new AtividadesController(context);
                Atividade            atividade            = atividadesController.DeleteAtividade(1).Result.Value;
                Assert.Null(atividade);
            }
        }
Exemplo n.º 11
0
        private void LoadProjectsList()
        {
            LV_Projects.InvokeIfRequired(s =>
            {
                s.Items.Clear();
                s.Columns.Clear();
                s.Columns.Add(new ColumnHeader {
                    Text = "Id", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Name", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Owner", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut by", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Published Date", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Updated Date", DisplayIndex = 0, Width = 20
                });
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });

            IEnumerable <PublishedProject> projectList =
                ProjContext.LoadQuery(ProjContext.Projects.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut,
                                                                   p => p.CheckedOutBy.LoginName, p => p.LastPublishedDate, p => p.Owner.LoginName,
                                                                   p => p.Draft.LastSavedDate));

            ProjContext.ExecuteQuery();

            List <ListViewItem> listViewItems = new List <ListViewItem>();

            foreach (PublishedProject proj in projectList)
            {
                ListViewItem lvi = new ListViewItem(proj.Id.ToString());
                lvi.SubItems.Add(proj.Name);
                lvi.SubItems.Add(proj.Owner.LoginName);
                lvi.SubItems.Add(proj.IsCheckedOut ? proj.CheckedOutBy.LoginName : string.Empty);
                lvi.SubItems.Add(proj.LastPublishedDate.ToString(CultureInfo.InvariantCulture));
                lvi.SubItems.Add(proj.Draft.LastSavedDate.ToString(CultureInfo.InvariantCulture));
                lvi.Tag = proj;
                listViewItems.Add(lvi);
            }
            LV_Projects.InvokeIfRequired(s =>
            {
                s.Items.AddRange(listViewItems.ToArray());
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });
        }
Exemplo n.º 12
0
        public void GetAll()
        {
            InitializeDataBase();

            using (var context = new ProjContext(options)) {
                AtividadesController    atividadesController = new AtividadesController(context);
                IEnumerable <Atividade> atividades           = atividadesController.GetAtividade().Result.Value;

                Assert.Equal(2, atividades.Count());
            }
        }
Exemplo n.º 13
0
        public void GetbyId()
        {
            InitializeDataBase();

            using (var context = new ProjContext(options)) {
                int atividadeId = 2;
                AtividadesController atividadesController = new AtividadesController(context);
                Atividade            atividade            = atividadesController.GetAtividade(atividadeId).Result.Value;
                Assert.Equal(atividadeId, atividade.Id);
            }
        }
Exemplo n.º 14
0
        private void LoadProjectInfo()
        {
            DGV_Project.InvokeIfRequired(dg =>
            {
                dg.Columns.Clear();
                dg.DataSource         = null;
                dg.AllowUserToAddRows = false;
            });

            CB_ProjectList.InvokeIfRequired(cb => _publishedProject = cb.SelectedValue as PublishedProject);
            if (_publishedProject == null)
            {
                return;
            }

            if (Settings.Default.LoadAllProperties)
            {
                LoadQueryFields(_publishedProject.Draft);
            }
            else
            {
                ProjContext.Load(_publishedProject.Draft, p => p, p => p.Tasks, p => p.Assignments, p => p.ProjectResources);
            }
            ProjContext.ExecuteQuery();
            List <PropertyInfo> retrievedFields = DisplayFields(_publishedProject.Draft);
            DataTable           dt = CreateDataTableForDisplay(retrievedFields);

            dt.ExtendedProperties.Add(dt.Rows.Count, _publishedProject.Draft);
            DataRow dr = dt.NewRow();

            retrievedFields.ForEach(prop => SetPropertyValueInDataColumn(dr, prop, _publishedProject.Draft));
            dt.Rows.Add(dr);

            DGV_Project.InvokeIfRequired(dg =>
            {
                dg.DataSource = dt;
                dg.Refresh();
                TP_Tasks.Text       = $"Tasks({_publishedProject.Draft.Tasks.Count()})";
                TP_Assignments.Text = $"Assignments({_publishedProject.Draft.Assignments.Count()})";
                TP_Resources.Text   = $"Resources({_publishedProject.Draft.ProjectResources.Count()})";
                if (_publishedProject.Draft.Tasks.Any())
                {
                    LoadTasksInfo(_publishedProject.Draft.Tasks);
                }
                if (_publishedProject.Draft.Assignments.Any())
                {
                    LoadAssignments(_publishedProject.Draft.Assignments);
                }
                if (_publishedProject.Draft.ProjectResources.Any())
                {
                    LoadProjectResources(_publishedProject.Draft.ProjectResources);
                }
            });
        }
Exemplo n.º 15
0
        public void CreateAndDestroyContextEPSG()
        {
            using (var pc = new ProjContext())
            {
                GC.KeepAlive(pc.Clone());

                // Needs proj.db

                using (var crs = CoordinateReferenceSystem.Create("EPSG:25832", pc))
                {
                    Assert.AreEqual("ETRS89 / UTM zone 32N", crs.Name);

                    Assert.IsNotNull(crs.Identifiers);
                    Assert.AreEqual(1, crs.Identifiers.Count);
                    Assert.AreEqual("EPSG", crs.Identifiers[0].Authority);
                    Assert.AreEqual("25832", crs.Identifiers[0].Name);
                    Assert.AreEqual("+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs +type=crs", crs.AsProjString());

                    using (var t = ProjObject.Create(crs.AsProjString()))
                    {
                        Assert.IsTrue(t is CoordinateReferenceSystem);

                        Assert.IsNull(t.Identifiers);

                        Assert.AreEqual(crs.AsProjString(), t.AsProjString());
                    }

                    using (var t = ProjObject.Create(crs.AsWellKnownText()))
                    {
                        Assert.IsTrue(t is CoordinateReferenceSystem);

                        Assert.IsNotNull(t.Identifiers);
                        Assert.AreEqual("EPSG", t.Identifiers[0].Authority);
                        Assert.AreEqual("25832", t.Identifiers[0].Name);
                        Assert.AreEqual("+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs +type=crs", t.AsProjString());
                        Assert.AreEqual(crs.AsProjString(), t.AsProjString());

                        Assert.IsTrue(t.IsEquivalentTo(crs));
                    }
                    using (var t = ProjObject.Create(crs.AsProjJson()))
                    {
                        Assert.IsTrue(t is CoordinateReferenceSystem);

                        Assert.IsNotNull(t.Identifiers);
                        Assert.AreEqual("EPSG", t.Identifiers[0].Authority);
                        Assert.AreEqual("25832", t.Identifiers[0].Name);
                        Assert.AreEqual("+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs +type=crs", t.AsProjString());
                        Assert.AreEqual(crs.AsProjString(), t.AsProjString());
                        Assert.IsTrue(t.IsEquivalentTo(crs));
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void LoadCustomFieldsList()
        {
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.Clear();
                s.Columns.Clear();
                s.Columns.Add(new ColumnHeader {
                    Text = "Id", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Name", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Type", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Required", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "LookupTable", DisplayIndex = 0, Width = 20
                });
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });

            IEnumerable <CustomField> customFieldList = ProjContext.LoadQuery(ProjContext.CustomFields.Include(r => r.Name, r => r.EntityType.Name, r => r.Id, r => r.IsRequired, r => r.LookupTable.Name));

            ProjContext.ExecuteQuery();
            List <ListViewItem> listViewItems = new List <ListViewItem>();

            foreach (CustomField cf in customFieldList)
            {
                ListViewItem lvi = new ListViewItem(cf.Id.ToString());
                lvi.SubItems.Add(cf.Name);
                lvi.SubItems.Add(cf.EntityType.Name);
                lvi.SubItems.Add(cf.IsRequired.ToString());
                if (cf.LookupTable.ServerObjectIsNull != null && !cf.LookupTable.ServerObjectIsNull.Value)
                {
                    lvi.SubItems.Add(cf.LookupTable.Name);
                }
                lvi.Tag = cf;
                listViewItems.Add(lvi);
            }
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.AddRange(listViewItems.ToArray());
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });
        }
Exemplo n.º 17
0
        public void DistanceInNL()
        {
            using (ProjContext pc = new ProjContext())
            {
                pc.AllowNetworkConnections = true;

                Coordinate dom, servaas;

                using (var nl = CoordinateReferenceSystem.Create("EPSG:28992", pc))
                {
                    using (var wgs84 = CoordinateReferenceSystem.Create("EPSG:4326", pc))
                    {
                        using (var t = CoordinateTransform.Create(wgs84, nl))
                        {
                            dom     = t.Apply(DomUtrechtWGS84);
                            servaas = t.Apply(StServaasMaastrichtWGS84);
                        }

                        Assert.AreEqual(143.562, Math.Round(wgs84.DistanceTransform.GeoDistance(DomUtrechtWGS84, StServaasMaastrichtWGS84)) / 1000.0, "Distance WGS84");
                    }

                    Assert.AreEqual(143.562, Math.Round(nl.DistanceTransform.GeoDistance(dom, servaas), 0) / 1000.0, "Distance RD");

                    double dx = (dom.X - servaas.X);
                    double dy = (dom.Y - servaas.Y);

                    Assert.AreEqual(143.556, Math.Round(Math.Sqrt(dx * dx + dy * dy)) / 1000.0, "Distance pythagoras");
                }

                using (var nlNAP = CoordinateReferenceSystem.Create("EPSG:7415", pc))
                {
                    Assert.IsNotNull(nlNAP.GeodeticCRS);

                    if (nlNAP is CoordinateReferenceSystemList l)
                    {
                        var cs0 = l[0];
                        var cs1 = l[1];

                        GC.KeepAlive(cs0);
                        GC.KeepAlive(cs1);
                    }

                    using (var WGS84 = CoordinateReferenceSystem.Create("EPSG:4329", pc))
                    {
                        GC.KeepAlive(WGS84);
                    }
                }
            }
        }
Exemplo n.º 18
0
        private void LoadProjectsList()
        {
            IEnumerable <PublishedProject> projectList =
                ProjContext.LoadQuery(ProjContext.Projects.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut,
                                                                   p => p.Owner.LoginName, p => p.CheckedOutBy.LoginName, p => p.CheckedOutDate));

            ProjContext.ExecuteQuery();

            List <ListViewItem> listViewItems = new List <ListViewItem>();

            foreach (PublishedProject project in projectList)
            {
                ListViewItem lvi = new ListViewItem(project.Name);
                lvi.SubItems.Add(project.IsCheckedOut.ToString());
                lvi.SubItems.Add(project.Owner.LoginName);
                if (project.IsCheckedOut)
                {
                    lvi.SubItems.Add(project.CheckedOutBy.LoginName);
                    lvi.SubItems.Add(project.CheckedOutDate.ToString(CultureInfo.InvariantCulture));
                }
                lvi.Tag = project;
                Log.WriteVerbose(new SourceInfo(), TB_Status, "Found Project {0}", project.Name);
                listViewItems.Add(lvi);
            }
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.Clear();
                s.Columns.Clear();
                s.Columns.Add(new ColumnHeader {
                    Text = "Name", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Owner", DisplayIndex = 0, Width = 30
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut By", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut Date", DisplayIndex = 0, Width = 20
                });
                s.Items.AddRange(listViewItems.ToArray());
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });
        }
Exemplo n.º 19
0
        public void DistanceDemo()
        {
            // Demo case from https://www.mkompf.com/gps/distcalc.html
            PPoint RusselsheimStation    = new PPoint(49.9917, 8.41321);
            PPoint RusselsheimOpelBridge = new PPoint(50.0049, 8.42182);
            PPoint BerlinBrandenburgGate = new PPoint(52.5164, 13.3777);
            PPoint LisbonTagusBridge     = new PPoint(38.692668, -9.177944);

            using (var ctx = new ProjContext())
                using (var wgs84 = CoordinateReferenceSystem.Create("EPSG:4326", ctx))
                {
                    Assert.AreEqual(1592.7, Math.Round(wgs84.DistanceTransform.GeoDistance(RusselsheimStation, RusselsheimOpelBridge), 1));

                    Assert.AreEqual(2318217, Math.Round(wgs84.DistanceTransform.GeoDistance(BerlinBrandenburgGate, LisbonTagusBridge)));
                }
        }
Exemplo n.º 20
0
        private void LoadResourcesList()
        {
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.Clear();
                s.Columns.Clear();
                s.Columns.Add(new ColumnHeader {
                    Text = "Id", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Name", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Active", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "CheckOut", DisplayIndex = 0, Width = 20
                });
                s.Columns.Add(new ColumnHeader {
                    Text = "Modified", DisplayIndex = 0, Width = 20
                });
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });

            IEnumerable <EnterpriseResource> resourcesList = ProjContext.LoadQuery(ProjContext.EnterpriseResources.Include(p => p.Name, p => p.Id, p => p.IsCheckedOut, p => p.Modified, p => p.IsActive));

            ProjContext.ExecuteQuery();
            List <ListViewItem> listViewItems = new List <ListViewItem>();

            foreach (EnterpriseResource res in resourcesList)
            {
                ListViewItem lvi = new ListViewItem(res.Id.ToString());
                lvi.SubItems.Add(res.Name);
                lvi.SubItems.Add(res.IsActive.ToString());
                lvi.SubItems.Add(res.IsCheckedOut.ToString());
                lvi.SubItems.Add(res.Modified.ToString(CultureInfo.InvariantCulture));
                lvi.Tag = res;
                listViewItems.Add(lvi);
            }
            LV_ServerObjects.InvokeIfRequired(s =>
            {
                s.Items.AddRange(listViewItems.ToArray());
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
                s.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            });
        }
Exemplo n.º 21
0
        public void CreateAndDestroyContext()
        {
            using (var pc = new ProjContext())
            {
                using (var crs = pc.Create("+proj=merc +ellps=clrk66 +lat_ts=33"))
                {
                    Assert.AreEqual("PROJ-based coordinate operation", crs.Name);

                    if (crs is CoordinateTransform cob)
                    {
                        Assert.IsNull(crs.Identifiers);

                        var src = cob.SourceCRS;
                        var dst = cob.TargetCRS;

                        Assert.IsNull(src);
                        Assert.IsNull(dst);

                        //Assert.AreEqual(1, crs.Identifiers.Count);
                    }
                    else
                    {
                        Assert.Fail();
                    }

                    Assert.AreEqual(ProjType.OtherCoordinateTransform, crs.Type);
                    string expected =
                        @"{
  ""$schema"": ""https://proj.org/schemas/v0.2/projjson.schema.json"",
  ""type"": ""Conversion"",
  ""name"": ""PROJ-based coordinate operation"",
  ""method"": {
    ""name"": ""PROJ-based operation method: +proj=merc +ellps=clrk66 +lat_ts=33""
  }
}".Replace("\r", "");
                    Assert.AreEqual(expected, crs.AsProjJson());
                    Assert.AreEqual("proj=merc ellps=clrk66 lat_ts=33", crs.Definition);
                    Assert.AreEqual("+proj=merc +ellps=clrk66 +lat_ts=33", crs.AsProjString());
                }

                using (var crs = pc.Create(new string[] { "proj=merc", "ellps=clrk66", "lat_ts=33" }))
                {
                    Assert.AreEqual("PROJ-based coordinate operation", crs.Name);
                }
            }
        }
Exemplo n.º 22
0
 public void BadInit()
 {
     using (var pc = new ProjContext())
     {
         try
         {
             using (var crs = CoordinateReferenceSystem.Create("!1@2#3$4%5^6&7*8(9)0", pc))
             {
             }
             Assert.Fail();
         }
         catch (ProjException pe)
         {
             Assert.AreEqual("proj_create: unrecognized format / unknown name", pe.GetBaseException().Message);
         }
     }
 }
Exemplo n.º 23
0
        private void DeleteCustomFields()
        {
            List <CustomField> customFieldList = new List <CustomField>();

            LV_ServerObjects.InvokeIfRequired(s =>
            {
                ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems;
                customFieldList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (CustomField)selectedItem.Tag));
            });

            if (!customFieldList.Any())
            {
                return;
            }
            customFieldList.ForEach(cf => cf.DeleteObject());
            ProjContext.ExecuteQuery();
            LoadCustomFields();
        }
        private void CreateCustomFields()
        {
            EntityType      entityType          = ProjContext.EntityTypes.ProjectEntity;
            CustomFieldType customFieldType     = CustomFieldType.TEXT;
            LookupTable     selectedLookupTable = null;
            bool            allowMultiSelect    = false;

            CB_EntityType.InvokeIfRequired(cb => entityType = cb.SelectedValue as EntityType);
            CB_Type.InvokeIfRequired(sb => customFieldType  = (CustomFieldType)CB_Type.SelectedValue);
            CB_LookupTable.InvokeIfRequired(cb =>
            {
                if (cb.SelectedIndex <= 0)
                {
                    return;
                }
                selectedLookupTable = cb.SelectedValue as LookupTable;
                if (CBX_AllowMultiSelect.Checked)
                {
                    allowMultiSelect = true;
                }
            });
            for (int customFieldCount = 1; customFieldCount <= Convert.ToInt32(NUD_CFNumber.Value); customFieldCount++)
            {
                CustomFieldCreationInformation cfCi = new CustomFieldCreationInformation
                {
                    Name       = TB_Name.Text + customFieldCount,
                    EntityType = entityType,
                    FieldType  = customFieldType
                };
                Log.WriteVerbose(new SourceInfo(), TB_Status, "Creating custom field with name {0}", cfCi.Name);
                if (selectedLookupTable != null)
                {
                    cfCi.LookupTable = selectedLookupTable;
                    Log.WriteVerbose(new SourceInfo(), TB_Status, "Setting custom field to use lookup table {0}", selectedLookupTable.Name);
                }

                cfCi.LookupAllowMultiSelect = allowMultiSelect;
                ProjContext.CustomFields.Add(cfCi);
            }
            ProjContext.CustomFields.Update();
            ProjContext.ExecuteQuery();
        }
        private void GetEnterpriseResourcesList()
        {
            LV_EnterpiseResources.InvokeIfRequired(s => s.Items.Clear());
            IEnumerable <EnterpriseResource> resourcesList = ProjContext.LoadQuery(ProjContext.EnterpriseResources.Where(r => r.ResourceType == EnterpriseResourceType.Work));

            ProjContext.ExecuteQuery();

            EnterpriseResource[] enterpriseResources = resourcesList.ToArray();
            foreach (EnterpriseResource res in enterpriseResources)
            {
                ListViewItem lvi = new ListViewItem(res.Name)
                {
                    Tag = res
                };
                Log.WriteVerbose(new SourceInfo(), "Found Resource:{0}", res.Name);

                LV_EnterpiseResources.InvokeIfRequired(s => s.Items.Add(lvi));
            }
            LV_EnterpiseResources.InvokeIfRequired(s => s.Columns[0].Text = $"Enterprise Resources({enterpriseResources.Length})");
        }
Exemplo n.º 26
0
        public void Update()
        {
            InitializeDataBase();

            Atividade atividade = new Atividade {
                Id          = 1,
                Descricao   = "ativ 90",
                DataInicio  = DateTime.ParseExact("04/01/2021", "d", CultureInfo.InvariantCulture),
                DataFim     = DateTime.ParseExact("05/22/2021", "d", CultureInfo.InvariantCulture),
                Responsavel = new Responsavel {
                    Id = 2, Nome = "Kawan"
                }
            };

            using (var context = new ProjContext(options)) {
                AtividadesController atividadesController = new AtividadesController(context);
                Atividade            atividade2           = atividadesController.PutAtividade(1, atividade).Result.Value;
                Assert.Equal("ativ 90", atividade2.Descricao);
            }
        }
Exemplo n.º 27
0
        public void Create()
        {
            InitializeDataBase();

            var atividade = new Atividade {
                Id          = 10,
                Descricao   = "ativ 5",
                DataInicio  = DateTime.ParseExact("04/01/2021", "d", CultureInfo.InvariantCulture),
                DataFim     = DateTime.ParseExact("05/22/2021", "d", CultureInfo.InvariantCulture),
                Responsavel = new Responsavel {
                    Id = 5, Nome = "Marcio"
                }
            };

            using (var context = new ProjContext(options)) {
                AtividadesController atividadesController = new AtividadesController(context);
                Atividade            atividade2           = atividadesController.PostAtividade(atividade).Result.Value;
                Assert.Equal(10, atividade2.Id);
            }
        }
        private void LoadLookupTables()
        {
            IEnumerable <LookupTable> lookupTables1 = ProjContext.LoadQuery(ProjContext.LookupTables);

            ProjContext.ExecuteQuery();
            Dictionary <string, LookupTable> lookupTables = new Dictionary <string, LookupTable> {
                { "Select", null }
            };

            foreach (LookupTable lt in lookupTables1)
            {
                lookupTables.Add(lt.Name, lt);
            }
            CB_LookupTable.InvokeIfRequired(cb =>
            {
                cb.DataSource    = new BindingSource(lookupTables, null);
                cb.DisplayMember = "Key";
                cb.ValueMember   = "Value";
            });
        }
Exemplo n.º 29
0
        private void DeleteCalendars()
        {
            List <Calendar> calendarList = new List <Calendar>();

            LV_ServerObjects.InvokeIfRequired(s =>
            {
                ListView.SelectedListViewItemCollection selectedItems = s.SelectedItems;
                calendarList.AddRange(selectedItems.Cast <ListViewItem>().Select(selectedItem => (Calendar)selectedItem.Tag));
            });
            if (!calendarList.Any())
            {
                return;
            }
            calendarList.ForEach(c =>
            {
                c.DeleteObject();
            });

            ProjContext.ExecuteQuery();
            LoadCalendars();
        }
        private void CreateResources()
        {
            EnterpriseResourceType selectedEnterpriseResourceType = EnterpriseResourceType.Work;

            cbxResType.InvokeIfRequired(s => selectedEnterpriseResourceType = (EnterpriseResourceType)cbxResType.SelectedValue);
            for (int resourceCount = 1; resourceCount <= numResources.Value; resourceCount++)
            {
                EnterpriseResourceCreationInformation erCi = new EnterpriseResourceCreationInformation
                {
                    Name         = txtResourceName.Text + resourceCount,
                    IsInactive   = CB_Inactive.Checked,
                    IsGeneric    = CB_Generic.Checked,
                    IsBudget     = CB_Budget.Checked,
                    ResourceType = selectedEnterpriseResourceType
                };
                Log.WriteVerbose(new SourceInfo(), TB_Status, "Creating Resource with name {0}", erCi.Name);
                ProjContext.EnterpriseResources.Add(erCi);
            }
            ProjContext.EnterpriseResources.Update();
            ProjContext.ExecuteQuery();
        }