protected override void OnCheckTarget(ComponentTarget target)
 {
     base.OnCheckTarget(target);
     PackagesForTarget.Clear();
     foreach (var p in AllPackages[target].OrderByDescending(fw => fw.Information.FirmwareVersion))
         PackagesForTarget.Add(p);
     SelectedPackage = new FirmwarePackageViewModel(PackagesForTarget.FirstOrDefault());
 }
예제 #2
0
 /// <summary>
 /// Показывает, может ли быть указанный компонент применён к указанному устройству
 /// </summary>
 /// <param name="CompTarget">Компонент прошивки</param>
 /// <param name="ToDevice">Целевое устройство</param>
 /// <returns>True, если устройство содержится в списке целей для компонента</returns>
 public static bool CanApply(ComponentTarget CompTarget, DeviceTicket ToDevice)
 {
     return
         CompTarget.CellId == ToDevice.BlockId &&
         CompTarget.CellModification == ToDevice.Modification &&
         CompTarget.Module == ToDevice.Module &&
         CompTarget.Channel == ToDevice.Channel;
 }
예제 #3
0
 /// <summary>Загружает необходимый компонент из тела пакета</summary>
 /// <param name="Target">Цель, компонент для которой требуется</param>
 public FirmwareComponent GetComponent(ComponentTarget Target)
 {
     throw new NotImplementedException();
 }
예제 #4
0
 protected virtual void OnCheckTarget(ComponentTarget target)
 {
 }
예제 #5
0
 public void CheckTarget(ComponentTarget target)
 {
     OnCheckTarget(target);
     Ok = SelectedPackage != null && SelectedPackage.Components.Any(c => c.Targets.Any(cTarget => cTarget == target));
 }
예제 #6
0
 public OneTargetUpdater(ComponentTarget Target, FirmwareComponent Component, PackageInformation Information)
 {
     this.Target = Target;
     this.Component = Component;
     this.Information = Information;
 }
예제 #7
0
 private static DeviceTicket GetTicketFor(ComponentTarget Target)
 {
     return
         new DeviceTicket(Target.CellId, Target.CellModification,
                          Module: Target.Module,
                          Channel: Target.Channel);
 }
예제 #8
0
 private bool CheckComponentTargetIsAppropriate(ComponentTarget ComponentTarget)
 {
     return ComponentTarget.CellId == Target.CellId &&
            ComponentTarget.CellModification == Target.ModificationId &&
            ComponentTarget.Channel == Target.ChannelNumber;
 }