diff --git a/build.cake b/build.cake index 9452e2e..2770fa4 100644 --- a/build.cake +++ b/build.cake @@ -9,7 +9,7 @@ var target = Argument("target", "Default"); var configuration = Argument("configuration", "Release"); var solution = "./Anywhere.ArcGIS.sln"; -var version = "1.7.1"; +var version = "1.8.0"; var versionSuffix = Environment.GetEnvironmentVariable("VERSION_SUFFIX"); ////////////////////////////////////////////////////////////////////// diff --git a/src/Anywhere.ArcGIS/Anywhere.ArcGIS.csproj b/src/Anywhere.ArcGIS/Anywhere.ArcGIS.csproj index ff4bfcf..d8fe952 100644 --- a/src/Anywhere.ArcGIS/Anywhere.ArcGIS.csproj +++ b/src/Anywhere.ArcGIS/Anywhere.ArcGIS.csproj @@ -15,7 +15,7 @@ https://github.com/davetimmins/Anywhere.ArcGIS git ArcGIS ArcGISServer ArcGISOnline Esri REST netstandard anywhere GIS Mapping Map Location GeoLocation OAuth - 1.7.1 + 1.8.0 diff --git a/src/Anywhere.ArcGIS/Operation/ServiceDescriptionDetails.cs b/src/Anywhere.ArcGIS/Operation/ServiceDescriptionDetails.cs index 5ac4518..2d082e5 100644 --- a/src/Anywhere.ArcGIS/Operation/ServiceDescriptionDetails.cs +++ b/src/Anywhere.ArcGIS/Operation/ServiceDescriptionDetails.cs @@ -82,6 +82,9 @@ public class ServiceDescriptionDetailsResponse : PortalResponse [DataMember(Name = "fullExtent")] public Extent FullExtent { get; set; } + [DataMember(Name = "timeInfo")] + public TimeInfo TimeInfo { get; set; } + [DataMember(Name = "documentInfo")] public DocumentInfo DocumentInfo { get; set; } @@ -89,6 +92,31 @@ public class ServiceDescriptionDetailsResponse : PortalResponse public List Layers { get; set; } } + [DataContract] + public class TimeInfo + { + [DataMember(Name = "timeExtent")] + public List TimeExtent { get; set; } + + [DataMember(Name = "timeRelation")] + public string TimeRelation { get; set; } + + [DataMember(Name = "defaultTimeInterval")] + public int DefaultTimeInterval { get; set; } + + [DataMember(Name = "defaultTimeIntervalUnits")] + public string DefaultTimeIntervalUnits { get; set; } + + [DataMember(Name = "defaultTimeWindow")] + public double DefaultTimeWindow { get; set; } + + [DataMember(Name = "defaultTimeWindowUnits")] + public string DefaultTimeWindowUnits { get; set; } + + [DataMember(Name = "hasLiveData")] + public bool HasLiveData { get; set; } + } + [DataContract] public class DocumentInfo { diff --git a/src/Anywhere.ArcGIS/Operation/ServiceLayerDescription.cs b/src/Anywhere.ArcGIS/Operation/ServiceLayerDescription.cs index fc931c0..3dbac85 100644 --- a/src/Anywhere.ArcGIS/Operation/ServiceLayerDescription.cs +++ b/src/Anywhere.ArcGIS/Operation/ServiceLayerDescription.cs @@ -72,6 +72,9 @@ public class ServiceLayerDescriptionResponse : PortalResponse [DataMember(Name = "extent")] public Extent Extent { get; set; } + [DataMember(Name = "timeInfo")] + public LayerTimeInfo TimeInfo { get; set; } + [DataMember(Name = "hasAttachments")] public bool HasAttachments { get; set; } @@ -191,4 +194,61 @@ public class AdvancedQueryCapabilities [DataMember(Name = "supportsQueryWithDistance")] public bool SupportsQueryWithDistance { get; set; } } + + [DataContract] + public class LayerTimeInfo + { + [DataMember(Name = "startTimeField")] + public string StartTimeField { get; set; } + + [DataMember(Name = "endTimeField")] + public string EndTimeField { get; set; } + + [DataMember(Name = "trackIdField")] + public string TrackIdField { get; set; } + + [DataMember(Name = "timeExtent")] + public List TimeExtent { get; set; } + + [DataMember(Name = "timeReference")] + public TimeReference TimeReference { get; set; } + + [DataMember(Name = "timeInterval")] + public int TimeInterval { get; set; } + + [DataMember(Name = "timeIntervalUnits")] + public string TimeIntervalUnits { get; set; } + + [DataMember(Name = "exportOptions")] + public ExportOptions ExportOptions { get; set; } + + [DataMember(Name = "hasLiveData")] + public bool HasLiveData { get; set; } + } + + [DataContract] + public class ExportOptions + { + [DataMember(Name = "useTime")] + public bool UseTime { get; set; } + + [DataMember(Name = "timeDataCumulative")] + public bool TimeDataCumulative { get; set; } + + [DataMember(Name = "timeOffset")] + public int TimeOffset { get; set; } + + [DataMember(Name = "timeOffsetUnits")] + public string TimeOffsetUnits { get; set; } + } + + [DataContract] + public class TimeReference + { + [DataMember(Name = "timeZone")] + public string TimeZone { get; set; } + + [DataMember(Name = "respectsDaylightSaving")] + public bool RespectsDaylightSaving { get; set; } + } }