Ejemplo n.º 1
0
        public void RequestToAddNew_WithTestTerritory_ReturnsCorrectlyEncodedUrl()
        {
            string expected = @"/ts?mod=territories&cmd=add&kind=0&number=TestNumber-123&notes=Test+Notes&description=Test+Description&border=1.11+-2.22%2c-3.33+-4.44";

            var territory = new Territory("TestId")
            {
                Number      = "TestNumber-123",
                Description = "Test Description",
                Notes       = "Test Notes",
            };

            territory.Border.Vertices.Add(new Vertex(1.11, -2.22));
            territory.Border.Vertices.Add(new Vertex(-3.33, -4.44));

            string url = RelativeUrlBuilder.RequestToAddNew(territory);

            Assert.AreEqual(expected, url);
        }
Ejemplo n.º 2
0
        public void Upload()
        {
            if (client.BasePath == null)
            {
                view.ShowMessageBox("You are not logged on to Alba.  Please Logon.");
                return;
            }

            string fileName = view.OpenFileDialog("kml");

            if (string.IsNullOrWhiteSpace(fileName))
            {
                return;
            }

            var kml         = new KmlGateway().Load(fileName);
            var territories = new KmlToTerritoryConverter()
                              .TerritoryListFrom(kml)
                              .Where(t => t.Border != null && t.Border.Vertices != null && t.Border.Vertices.Count > 0)
                              .ToList();

            view.AppendResultText("Uploading " + territories.Count + " territory borders...");

            foreach (var territory in territories)
            {
                int count = territory.Border.Vertices.Count;

                var url          = RelativeUrlBuilder.RequestToAddNew(territory);
                var resultString = client.DownloadString(url);

                view.AppendResultText("Territory: " + territory.Number);
                view.AppendResultText(count + " vertices where uploaded..." + Environment.NewLine);
                view.AppendResultText(resultString + Environment.NewLine + Environment.NewLine);
                Thread.Sleep(delay);
            }
        }