This page describes how to build an application that interacts with the TotalAgility SDK.
Create a new Console Application in Visual Studio and change the .NET Framework at the top to the latest version (4.5.1 at time of writing):
Next, references to the TotalAgilityFiles need to be added. Open the project and right click on References and choose Add Reference:
1 <?xml version="1.0" encoding="utf-8"?>
4 <add key="IsMultitenantDeployment" value="false"/>
5 <add key="SdkServicesLocation" value="http://localhost/TotalAgility/Services/SDK"/>
10 <binding name="BasicHttpBinding_Service" closeTimeout="00:01:00"
11 openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
12 allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
13 maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
14 messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
15 useDefaultWebProxy="true">
16 <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
17 maxBytesPerRead="4096" maxNameTableCharCount="16384" />
18 <security mode="TransportCredentialOnly">
19 <transport clientCredentialType="Windows" proxyCredentialType="None"
21 <message clientCredentialType="UserName" algorithmSuite="Default" />
27 <endpoint name="SdkCaseServiceEndpoint"
28 binding="basicHttpBinding"
29 bindingConfiguration="BasicHttpBinding_Service"
30 contract="Agility.Sdk.Model.Interfaces.Services.ICaseService"/>
31 <endpoint name="SdkActivityServiceEndpoint"
32 binding="basicHttpBinding"
33 bindingConfiguration="BasicHttpBinding_Service"
34 contract="Agility.Sdk.Model.Interfaces.Services.IActivityService"/>
35 <endpoint name="SdkClientServiceEndpoint"
36 binding="basicHttpBinding"
37 bindingConfiguration="BasicHttpBinding_Service"
38 contract="Agility.Sdk.Model.Interfaces.Services.IClientService"/>
39 <endpoint name="SdkJobServiceEndpoint"
40 binding="basicHttpBinding"
41 bindingConfiguration="BasicHttpBinding_Service"
42 contract="Agility.Sdk.Model.Interfaces.Services.IJobService"/>
43 <endpoint name="SdkProcessServiceEndpoint"
44 binding="basicHttpBinding"
45 bindingConfiguration="BasicHttpBinding_Service"
46 contract="Agility.Sdk.Model.Interfaces.Services.IProcessService"/>
47 <endpoint name="SdkServerServiceEndpoint"
48 binding="basicHttpBinding"
49 bindingConfiguration="BasicHttpBinding_Service"
50 contract="Agility.Sdk.Model.Interfaces.Services.IServerService"/>
51 <endpoint name="SdkTenantServiceEndpoint"
52 binding="basicHttpBinding"
53 bindingConfiguration="BasicHttpBinding_Service"
54 contract="Agility.Sdk.Model.Interfaces.Services.ITenantService"/>
55 <endpoint name="SdkUserServiceEndpoint"
56 binding="basicHttpBinding"
57 bindingConfiguration="BasicHttpBinding_Service"
58 contract="Agility.Sdk.Model.Interfaces.Services.IUserService"/>
59 <endpoint name="SdkResourceServiceEndpoint"
60 binding="basicHttpBinding"
61 bindingConfiguration="BasicHttpBinding_Service"
62 contract="Agility.Sdk.Model.Interfaces.Services.IResourceService"/>
63 <endpoint name="SdkCategoryServiceEndpoint"
64 binding="basicHttpBinding"
65 bindingConfiguration="BasicHttpBinding_Service"
66 contract="Agility.Sdk.Model.Interfaces.Services.ICategoryService"/>
67 <endpoint name="SdkSecurityServiceEndpoint"
68 binding="basicHttpBinding"
69 bindingConfiguration="BasicHttpBinding_Service"
70 contract="Agility.Sdk.Model.Interfaces.Services.ISecurityService"/>
71 <endpoint name="SdkBusinessCalendarServiceEndpoint"
72 binding="basicHttpBinding"
73 bindingConfiguration="BasicHttpBinding_Service"
74 contract="Agility.Sdk.Model.Interfaces.Services.IBusinessCalendarService"/>
75 <endpoint name="SdkDynamicResourceServiceEndpoint"
76 binding="basicHttpBinding"
77 bindingConfiguration="BasicHttpBinding_Service"
78 contract="Agility.Sdk.Model.Interfaces.Services.IDynamicResourceService"/>
79 <endpoint name="SdkCaptureDocumentServiceEndpoint"
80 binding="basicHttpBinding"
81 bindingConfiguration="BasicHttpBinding_Service"
82 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureDocumentService"/>
83 <endpoint name="SdkCaptureProjectServiceEndpoint"
84 binding="basicHttpBinding"
85 bindingConfiguration="BasicHttpBinding_Service"
86 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureProjectService"/>
87 <endpoint name="SdkCaptureKfsServiceEndpoint"
88 binding="basicHttpBinding"
89 bindingConfiguration="BasicHttpBinding_Service"
90 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureKfsService"/>
91 <endpoint name="SdkAssetServiceEndpoint"
92 binding="basicHttpBinding"
93 bindingConfiguration="BasicHttpBinding_Service"
94 contract="Agility.Sdk.Model.Interfaces.Services.IAssetService"/>
96 </system.serviceModel>
As an example, the first part of any application will be logging on to the system, in this example Agility.Sdk.Services.UserService.LogOnWithWindowsAuthentication2 "LogOnWithWindowsAuthentication2" API will be used, which logs in the current Windows user.
This method takes an short, indicating the logon protocol, a boolean indicating that the user should be logged on uncondtionally and returns a Session2 object that has the session details.
In order to call the method a UserService object is needed: