Exemple #1
0
 private void bidChanged(TECChangedEventArgs obj)
 {
     if (!(obj.Sender is TECCatalogs || obj.Sender is TECScopeTemplates) && obj.Change == Change.Add)
     {
         if (obj.Value is TECHardware hardware)
         {
             if (hardware.RequireQuote && hardware.QuotedPrice == -1)
             {
                 NeedQuoteHardware.Add(hardware);
             }
         }
         else if (obj.Value is IRelatable child)
         {
             if (child is TECSubScope subScope)
             {
                 NeedQuoteHardware.AddRange(subScope.Devices
                                            .Where(x => x is TECHardware ware && ware.RequireQuote && ware.QuotedPrice == -1 && !NeedQuoteHardware.Contains(ware))
                                            .Distinct()
                                            .OfType <TECHardware>());
             }
             else
             {
                 NeedQuoteHardware.AddRange(child
                                            .GetAll <TECSubScope>()
                                            .SelectMany(ss => ss.Devices
                                                        .Where(x => x is TECHardware ware && ware.RequireQuote && ware.QuotedPrice == -1 && !NeedQuoteHardware.Contains(ware)))
                                            .Distinct()
                                            .OfType <TECHardware>());
             }
         }
     }
 }
Exemple #2
0
 private void quotedHardware_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
     {
         foreach (TECHardware item in e.NewItems)
         {
             NeedQuoteHardware.Remove(item);
         }
     }
     else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
     {
         foreach (TECHardware item in e.OldItems)
         {
             if (item.RequireQuote)
             {
                 NeedQuoteHardware.Add(item);
             }
         }
     }
 }