public List <Territory> SaveAs(string fileName) { var resultString = client.DownloadString(RelativeUrlBuilder.GetAllTerritories()); AllTerritories = TerritoryResultParser.Parse(resultString); var assignmentsResultString = client.DownloadString( RelativeUrlBuilder.GetTerritoryAssignments()); string assignmentsHtml = TerritoryAssignmentParser.Parse(assignmentsResultString); var assignments = new DownloadTerritoryAssignments(client).GetAssignments(assignmentsHtml); foreach (var t in AllTerritories) { var assignment = assignments.FirstOrDefault(a => string.Equals(a.Number, t.Number, StringComparison.OrdinalIgnoreCase)); if (assignment != null) { int monthsAgoCompleted = assignment.MonthsAgoCompleted ?? 0; int yearsAgoCompleted = monthsAgoCompleted / 12; t.Status = assignment.Status; t.MobileLink = assignment.MobileLink; t.SignedOutTo = assignment.SignedOutTo; t.SignedOut = assignment.SignedOut; t.LastCompletedBy = assignment.LastCompletedBy; t.LastCompleted = assignment.LastCompleted; t.MonthsAgoCompleted = assignment.MonthsAgoCompleted; t.YearsAgoCompleted = assignment.LastCompleted == null ? 99 : yearsAgoCompleted; t.NeverCompleted = assignment.LastCompleted == null; } } var filteredTerritories = Filter(AllTerritories); foreach (var t in filteredTerritories) { t.FillColor = FillColorFor(t); } var kml = new TerritoryToKmlConverter().KmlFrom(filteredTerritories); new KmlGateway().Save(fileName, kml); return(filteredTerritories.ToList()); }
public void Convert_WithSmallTerritory_IsNotNull() { var territories = new List <Territory>() { new Territory("test id") { Number = "test number", Border = new Border() { Vertices = new List <Vertex>() { new Vertex(1.23, 4.56), new Vertex(2.34, 6.78) } } } }; var kml = new TerritoryToKmlConverter().KmlFrom(territories); Assert.IsNotNull(kml); }
public void Convert_WithSmallTerritory_DescriptionIsSet() { var territories = new List <Territory>() { new Territory("test id") { Number = "test number", Description = "test description", Border = new Border() { Vertices = new List <Vertex>() { new Vertex(1.23, 4.56), new Vertex(2.34, 6.78) } } } }; var kml = new TerritoryToKmlConverter().KmlFrom(territories); Assert.AreEqual("test description", kml.Document.Folder[0].Placemark[0].description); }