108 lines
4.0 KiB
C#
108 lines
4.0 KiB
C#
<Query Kind="Program">
|
|
<Reference><ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll</Reference>
|
|
<NuGetReference>Amazon.Lambda.S3Events</NuGetReference>
|
|
<NuGetReference>AWSSDK.Core</NuGetReference>
|
|
<NuGetReference>AWSSDK.S3</NuGetReference>
|
|
<NuGetReference>Flurl</NuGetReference>
|
|
<NuGetReference>Flurl.Http</NuGetReference>
|
|
<Namespace>Amazon</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy.ActionIdentifiers</Namespace>
|
|
<Namespace>Amazon.Internal</Namespace>
|
|
<Namespace>Amazon.Lambda.S3Events</Namespace>
|
|
<Namespace>Amazon.MissingTypes</Namespace>
|
|
<Namespace>Amazon.Runtime</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Auth</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Settings</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Transform</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Util</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces.Internal</Namespace>
|
|
<Namespace>Amazon.S3</Namespace>
|
|
<Namespace>Amazon.S3.Encryption</Namespace>
|
|
<Namespace>Amazon.S3.Encryption.Internal</Namespace>
|
|
<Namespace>Amazon.S3.Internal</Namespace>
|
|
<Namespace>Amazon.S3.IO</Namespace>
|
|
<Namespace>Amazon.S3.Model</Namespace>
|
|
<Namespace>Amazon.S3.Model.Internal.MarshallTransformations</Namespace>
|
|
<Namespace>Amazon.S3.Transfer</Namespace>
|
|
<Namespace>Amazon.S3.Util</Namespace>
|
|
<Namespace>Amazon.Util</Namespace>
|
|
<Namespace>Amazon.Util.Internal</Namespace>
|
|
<Namespace>Amazon.Util.Internal.PlatformServices</Namespace>
|
|
<Namespace>Flurl</Namespace>
|
|
<Namespace>Newtonsoft.Json</Namespace>
|
|
<Namespace>Newtonsoft.Json.Converters</Namespace>
|
|
<Namespace>Newtonsoft.Json.Linq</Namespace>
|
|
<Namespace>Newtonsoft.Json.Schema</Namespace>
|
|
<Namespace>Newtonsoft.Json.Serialization</Namespace>
|
|
<Namespace>System</Namespace>
|
|
<Namespace>System.Diagnostics</Namespace>
|
|
<Namespace>System.Diagnostics.Tracing</Namespace>
|
|
<Namespace>System.IO.Compression</Namespace>
|
|
<Namespace>System.Threading.Tasks</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1.Utilities</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Math</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.OpenSsl</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Utilities.IO.Pem</Namespace>
|
|
<Namespace>ThirdParty.Ionic.Zlib</Namespace>
|
|
<Namespace>ThirdParty.Json.LitJson</Namespace>
|
|
<Namespace>ThirdParty.MD5</Namespace>
|
|
<Namespace>Flurl.Http</Namespace>
|
|
</Query>
|
|
|
|
private string baseUrl;
|
|
|
|
void Main()
|
|
{
|
|
baseUrl = "https://api-dev.sdt.local/StrataSphere.Web.API.Service//api/v1/";
|
|
GetDefinitions().Dump();
|
|
GetDefinitionsAsync().Dump();
|
|
}
|
|
|
|
// Define other methods and classes here
|
|
public async Task<IEnumerable<DefinitionDto>> GetDefinitionsAsync()
|
|
{
|
|
return await GetTAsync<DefinitionDto>("Definitions");
|
|
}
|
|
|
|
public async Task<IEnumerable<T>> GetTAsync<T>(string pathSegment)
|
|
{
|
|
var flurlRequest = baseUrl.AppendPathSegment(pathSegment).GetJsonAsync<IEnumerable<T>>();
|
|
//flurlRequest.Wait();
|
|
await flurlRequest;
|
|
while (!flurlRequest.IsCompleted)
|
|
{
|
|
if (flurlRequest.Exception != null) return new List<T>();
|
|
}
|
|
var result = flurlRequest.Result;
|
|
return result;
|
|
}
|
|
|
|
public IEnumerable<DefinitionDto> GetDefinitions()
|
|
{
|
|
return Task.Run(async () => GetDefinitionsAsync().Result).Result;
|
|
}
|
|
|
|
public class DefinitionDto
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
public Guid DimensionGuid { get; set; }
|
|
public Guid AttributeGuid { get; set; }
|
|
public string DimensionId { get; set; }
|
|
public string AttributeId { get; set; }
|
|
public DateTime DateCreated { get; set; }
|
|
public DateTime DateLastModified { get; set; }
|
|
|
|
}
|
|
|
|
|