public virtual void UpdatePVServices() { var services = PVServices.Nothing; foreach (var service in EnumVal <PVService> .Values) { if (PVs.Any(p => p.Service == service)) { services |= (PVServices)service; } } PVServices = services; }
public virtual void UpdatePublishDateFromPVs() { if (!PVs.Any()) { return; } // Sanity check var minDateLimit = new DateTime(2000, 1, 1); // Original PVs that have a publish date var pvsWithDate = PVs.Where(p => p.PVType == PVType.Original && p.PublishDate.HasValue && p.PublishDate > minDateLimit).ToArray(); // Lowest published (original) PV var minPvDate = pvsWithDate.Any() ? pvsWithDate.Min(p => p.PublishDate) : null; var minAlbumDate = FirstAlbumDate; var minDate = minAlbumDate.HasValue && minAlbumDate > minDateLimit && minAlbumDate < minPvDate ? minAlbumDate : minPvDate; PublishDate = minDate; }
public virtual bool HasPV(PVService service, string pvId) { ParamIs.NotNullOrEmpty(() => pvId); return(PVs.Any(p => p.Service == service && p.PVId == pvId)); }