using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; namespace EgwControlCenter.Core.Models { public class TargetStatus { #region Public Properties public string CodApp { get; set; } = ""; /// /// Release locale (es Macchine: come letta da file *.mlde) /// public ReleaseDTO CurrLocal { get; set; } = new ReleaseDTO(); /// /// DataOra ultima verifica locale /// public DateTime LastUpdateLoc { get; set; } = DateTime.Now; /// /// DataOra ultima verifica remota /// public DateTime LastUpdateRem { get; set; } = DateTime.Now; /// /// Elenco release remote da REST service /// public List ListRemote { get; set; } = new List(); #endregion Public Properties #region Public Methods /// /// Calcolo condizione "ci sono update": /// - almeno 1 rel remota /// - la rel remota "+ recente" / + alta > rel locale /// /// public bool HasUpdate() { bool answ = false; if (ListRemote != null && ListRemote.Count > 0) { // prendo max release var lastRemote = ListRemote.OrderByDescending(x => x.VersVal).FirstOrDefault(); //devo averla trovata... if (lastRemote != null) { answ = lastRemote.VersVal > CurrLocal.VersVal; } } return answ; } #endregion Public Methods } }