aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-27 18:56:38 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-27 18:56:38 +0200
commitd059f6d6f4de2678555f23a357d69686e595ad29 (patch)
treee7dcc4b09f94a9bea46029e77fbc96d80889b900 /Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs
parentcb36c0b1ff561c072a1a63a8d184899336249e16 (diff)
downloadTango-d059f6d6f4de2678555f23a357d69686e595ad29.tar.gz
Tango-d059f6d6f4de2678555f23a357d69686e595ad29.zip
Added machine service downloads site.
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs67
1 files changed, 57 insertions, 10 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs
index ecdbf662c..a46cab3c2 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/DownloadsController.cs
@@ -3,9 +3,19 @@ using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
+using Tango.BL;
using Tango.MachineService.Filters;
using Tango.MachineService.Models;
using Tango.MachineService.Views.Downloads;
+using Tango.Web.Helpers;
+using System.Data.Entity;
+using Tango.Web.Storage;
+using System.IO;
+using Microsoft.WindowsAzure.Storage.Blob;
+using System.Net.Http;
+using System.Net;
+using System.Net.Http.Headers;
+using System.Net.Mime;
namespace Tango.MachineService.Controllers
{
@@ -15,18 +25,40 @@ namespace Tango.MachineService.Controllers
public ActionResult Index()
{
List<DownloadModel> downloads = new List<DownloadModel>();
- for (int i = 0; i < 10; i++)
+
+ using (ObservablesContext db = ObservablesContextHelper.CreateContext())
{
- downloads.Add(new DownloadModel()
+ foreach (var item in db.MachineStudioVersions.Where(x => x.InstallerBlobName != null).Include(x => x.User).Include(x => x.User.Contact).ToList())
+ {
+ DownloadModel download = new DownloadModel();
+ download.App = DownloadModel.DownloadApp.MachineStudio;
+ download.ID = item.InstallerBlobName;
+ download.Name = $"Machine Studio v{item.Version}.exe";
+ download.Version = item.Version;
+ download.User = item.User.Contact.FullName;
+ download.Date = item.LastUpdated;
+ download.Comments = item.Comments;
+
+ downloads.Add(download);
+ }
+
+ foreach (var item in db.TangoVersions.Where(x => x.InstallerBlobName != null).Include(x => x.User).Include(x => x.User.Contact).ToList())
{
- Name = "Downloads " + i,
- Comments = "Some comments...\nWith a new line",
- Date = DateTime.Now.ToString(),
- User = "Roy",
- ID = i.ToString(),
- });
+ DownloadModel download = new DownloadModel();
+ download.App = DownloadModel.DownloadApp.PPC;
+ download.ID = item.InstallerBlobName;
+ download.Name = $"PPC v{item.Version}.exe";
+ download.Version = item.Version;
+ download.User = item.User.Contact.FullName;
+ download.Date = item.LastUpdated;
+ download.Comments = item.Comments;
+
+ downloads.Add(download);
+ }
}
+ downloads = downloads.OrderByDescending(x => x.Date).ToList();
+
IndexViewModel model = new IndexViewModel();
model.Downloads = downloads;
@@ -34,9 +66,24 @@ namespace Tango.MachineService.Controllers
}
[Authorize]
- public ActionResult Download(String id)
+ public ActionResult Download(String blobName, DownloadModel.DownloadApp downloadApp)
{
- return File(new byte[] { 25, 255, 255 }, System.Net.Mime.MediaTypeNames.Application.Octet,"Machine Studio v1.0.exe");
+ CloudBlobContainer container = null;
+
+ var manager = new BlobStorageManager();
+
+ if (downloadApp == DownloadModel.DownloadApp.MachineStudio)
+ {
+ container = manager.GetContainer(MachineServiceConfig.MACHINE_STUDIO_VERSIONS_CONTAINER);
+ }
+ else
+ {
+ container = manager.GetContainer(MachineServiceConfig.TANGO_VERSIONS_CONTAINER);
+ }
+
+ var blob = container.GetBlockBlobReference(blobName);
+ var signature = blob.GenerateReadSignature(TimeSpan.FromMinutes(10));
+ return Redirect(signature);
}
}
} \ No newline at end of file