aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs27
1 files changed, 22 insertions, 5 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs
index e5dba6580..c08aa7a00 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/PPCController.cs
@@ -109,6 +109,7 @@ namespace Tango.MachineService.Controllers
response.Version = latest_machine_version.Version;
response.FirmwareVersion = latest_machine_version.FirmwareVersion;
+ response.Tag = latest_machine_version.Tag;
var manager = new BlobStorageManager();
var container = manager.GetContainer(MachineServiceConfig.TANGO_VERSIONS_CONTAINER);
@@ -158,6 +159,7 @@ namespace Tango.MachineService.Controllers
TangoUpdate tangoUpdate = new TangoUpdate();
tangoUpdate.ApplicationVersion = latest_machine_version.Version;
tangoUpdate.FirmwareVersion = latest_machine_version.FirmwareVersion;
+ tangoUpdate.ApplicationVersionTag = latest_machine_version.Tag;
tangoUpdate.MachineGuid = machine.Guid;
tangoUpdate.StartDate = DateTime.UtcNow;
tangoUpdate.UpdateStatus = TangoUpdateStatuses.SetupStarted;
@@ -232,6 +234,7 @@ namespace Tango.MachineService.Controllers
response.Version = latest_machine_version.Version;
response.FirmwareVersion = latest_machine_version.FirmwareVersion;
+ response.Tag = latest_machine_version.Tag;
var manager = new BlobStorageManager();
var container = manager.GetContainer(MachineServiceConfig.TANGO_VERSIONS_CONTAINER);
@@ -272,6 +275,7 @@ namespace Tango.MachineService.Controllers
TangoUpdate tangoUpdate = new TangoUpdate();
tangoUpdate.ApplicationVersion = latest_machine_version.Version;
tangoUpdate.FirmwareVersion = latest_machine_version.FirmwareVersion;
+ tangoUpdate.ApplicationVersionTag = latest_machine_version.Tag;
tangoUpdate.MachineGuid = machine.Guid;
tangoUpdate.StartDate = DateTime.UtcNow;
tangoUpdate.UpdateStatus = TangoUpdateStatuses.UpdateStarted;
@@ -354,7 +358,12 @@ namespace Tango.MachineService.Controllers
response.IsUpdateAvailable = true;
}
- if (!machine.IsDemo && machine.SetupFirmware)
+ if (request.Tag != machine.VersionTag)
+ {
+ response.IsUpdateAvailable = true;
+ }
+
+ if (!response.IsUpdateAvailable && !machine.IsDemo && machine.SetupFirmware)
{
if (!String.IsNullOrWhiteSpace(request.FirmwareVersion))
{
@@ -468,6 +477,7 @@ namespace Tango.MachineService.Controllers
TangoUpdate tangoUpdate = new TangoUpdate();
tangoUpdate.ApplicationVersion = request.ApplicationVersion;
tangoUpdate.FirmwareVersion = request.FirmwareVersion;
+ tangoUpdate.ApplicationVersionTag = machine.VersionTag;
tangoUpdate.MachineGuid = machine.Guid;
tangoUpdate.StartDate = DateTime.UtcNow;
tangoUpdate.UpdateStatus = TangoUpdateStatuses.DatabaseStarted;
@@ -508,6 +518,7 @@ namespace Tango.MachineService.Controllers
TangoUpdate tangoUpdate = new TangoUpdate();
tangoUpdate.ApplicationVersion = request.ApplicationVersion;
tangoUpdate.FirmwareVersion = request.FirmwareVersion;
+ tangoUpdate.ApplicationVersionTag = machine.VersionTag;
tangoUpdate.MachineGuid = machine.Guid;
tangoUpdate.StartDate = DateTime.UtcNow;
tangoUpdate.UpdateStatus = TangoUpdateStatuses.SynchronizationStarted;
@@ -828,7 +839,7 @@ namespace Tango.MachineService.Controllers
using (ObservablesContext db = ObservablesContextHelper.CreateContext())
{
- var versions = db.TangoVersions.Where(x => x.MachineVersionGuid == request.MachineVersionGuid).ToList();
+ var versions = db.TangoVersions.Where(x => x.MachineVersionGuid == request.MachineVersionGuid && request.Tag == x.Tag).ToList();
if (versions.Count == 0)
{
@@ -887,7 +898,13 @@ namespace Tango.MachineService.Controllers
if (user != null && user.HasPermission(Permissions.PublishPPCVersions))
{
- var versions = db.TangoVersions.ToList().Where(x => x.MachineVersionGuid == request.MachineVersionGuid).OrderByDescending(x => Version.Parse(x.Version)).ToList();
+
+ if (!request.Tag.IsNotNullOrEmpty())
+ {
+ request.Tag = null;
+ }
+
+ var versions = db.TangoVersions.ToList().Where(x => x.MachineVersionGuid == request.MachineVersionGuid && x.Tag == request.Tag).OrderByDescending(x => Version.Parse(x.Version)).ToList();
var machine_version = db.MachineVersions.SingleOrDefault(x => x.Guid == request.MachineVersionGuid);
TangoVersion latestVersion = new TangoVersion();
@@ -902,7 +919,7 @@ namespace Tango.MachineService.Controllers
if (local_version > Version.Parse(latestVersion.Version))
{
- String newVersionFileName = $"{machine_version.Name} - Tango Version {local_version.ToString()}.tup";
+ String newVersionFileName = $"{machine_version.Name} - Tango Version {local_version.ToString() + (request.Tag.IsNotNullOrEmpty() ? $" [{request.Tag}]" : String.Empty)}.tup";
var manager = new BlobStorageManager();
var container = manager.GetContainer(MachineServiceConfig.TANGO_VERSIONS_CONTAINER);
@@ -920,7 +937,7 @@ namespace Tango.MachineService.Controllers
BlobName = blob.Name,
MachineVersionGuid = request.MachineVersionGuid,
FirmwareVersion = request.FirmwareVersion,
- Tag = String.IsNullOrWhiteSpace(request.Tag) ? null : request.Tag,
+ Tag = request.Tag,
};
if (request.WithInstaller)