aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-18 13:21:20 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-18 13:21:20 +0200
commitccc6add5ea66565453283d7df0f6fbf2324b9264 (patch)
tree99d7693a0022043775644ebd0d03436bec9eb34a /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs
parent8c203b26d50818a1b16b2a7ec48eca7b082653f4 (diff)
downloadTango-ccc6add5ea66565453283d7df0f6fbf2324b9264.tar.gz
Tango-ccc6add5ea66565453283d7df0f6fbf2324b9264.zip
Refactored machine studio service.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs
new file mode 100644
index 000000000..8b43146e1
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Web/MachineStudioService.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.MachineStudio.Common.Authentication;
+using Tango.Settings;
+using Tango.Transport.Web;
+using Tango.Web;
+
+namespace Tango.MachineStudio.Common.Web
+{
+ public class MachineStudioService : IMachineStudioService
+ {
+ private WebTransportClient _client;
+
+ public DeploymentSlot Environment { get; set; }
+
+ public MachineStudioService()
+ {
+ Environment = SettingsManager.Default.GetOrCreate<MachineStudioSettings>().DeploymentSlot;
+ _client = new WebTransportClient();
+ }
+
+ public Task<CheckForUpdatesResponse> CheckForUpdates(CheckForUpdatesRequest request)
+ {
+ return _client.PostJson<CheckForUpdatesRequest, CheckForUpdatesResponse>(GetAddress() + "CheckForUpdates", request);
+ }
+
+ public Task<UploadVersionResponse> UploadVersion(UploadVersionRequest request)
+ {
+ return _client.PostJson<UploadVersionRequest, UploadVersionResponse>(GetAddress() + "UploadVersion", request);
+ }
+
+ public Task<UploadCompletedResponse> NotifyUploadCompleted(UploadCompletedRequest request)
+ {
+ return _client.PostJson<UploadCompletedRequest, UploadCompletedResponse>(GetAddress() + "NotifyUploadCompleted", request);
+ }
+
+ public Task<LatestVersionResponse> GetLatestVersion(LatestVersionRequest request)
+ {
+ return _client.PostJson<LatestVersionRequest, LatestVersionResponse>(GetAddress() + "GetLatestVersion", request);
+ }
+
+ public Task<DownloadLatestVersionResponse> DownloadLatestVersion(DownloadLatestVersionRequest request)
+ {
+ return _client.PostJson<DownloadLatestVersionRequest, DownloadLatestVersionResponse>(GetAddress() + "DownloadLatestVersion", request);
+ }
+
+ public Task<LoginResponse> Login(LoginRequest request)
+ {
+ return _client.PostJson<LoginRequest, LoginResponse>(GetAddress() + "Login", request);
+ }
+
+ private String GetAddress()
+ {
+ return Environment.ToAddress() + "/api/MachineStudio/";
+ }
+ }
+}