using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.PMR.FirmwareUpgrade; using Tango.Web; namespace Tango.PPC.Common.Publish { public class PublishInfo { public String ApplicationVersion { get; set; } public VersionPackageDescriptor Firmware { get; set; } public String Tag { get; set; } public String Comments { get; set; } public bool IsMachineTupPackage { get; set; } public String MachineSerialNumber { get; set; } public DeploymentSlot MachineDeploymentSlot { get; set; } public PublishInfo() { Firmware = new VersionPackageDescriptor(); } public String ToJson() { return JsonConvert.SerializeObject(this); } public static PublishInfo FromJson(String json) { return JsonConvert.DeserializeObject(json); } public String GetFirmwareVersion() { Version version = new Version("1.0.0.0"); var s = Firmware.FileDescriptors.FirstOrDefault(x => x.Destination == VersionFileDestination.Mcu); if (s != null) { if (Version.TryParse(s.Version,out version)) { return version.ToString(); } } return version.ToString(); } } }