Esempio n. 1
0
 public void AddCopywriters(params Copywriter[] copywriters)
 {
     foreach (var cw in copywriters)
     {
         cw.PropertyChanged += PropertyChanged;
         dic.Add(GenerateKey(cw), cw);
         CopywritersChanged?.Invoke(cw, new CopywritersChangedEventArgs <TKey>(ColName, Action.Add, null, GenerateKey(cw)));
     }
 }
 public void AddCopywritersToDictionary(TKey key, Copywriter copywriter)
 {
     if (CopywriterDictionary == null)
     {
         CopywriterDictionary = new Dictionary <TKey, Copywriter>();
     }
     CopywriterDictionary.Add(key, copywriter);
     copywriter.PropertyChanged += DictionaryHandler;
     CopywritersChanged?.Invoke(this, new CopywritersChangedEventArgs <TKey>(CopywriterCollectionName, Action.Add, "", key));
 }
Esempio n. 3
0
 public bool Remove(Copywriter cw)
 {
     if (!dic.ContainsValue(cw))
     {
         return(false);
     }
     else
     {
         var item = dic.First(kvp => kvp.Value == cw);
         CopywritersChanged?.Invoke(cw, new CopywritersChangedEventArgs <TKey>(ColName, Action.Remove, null, GenerateKey(item.Value)));
         dic.Remove(item.Key);
         return(true);
     }
 }
        public bool Remove(Copywriter cw)
        {
            TKey key;

            if (CopywriterDictionary == null)
            {
                Console.WriteLine("The dictionary is empty ");
                return(false);
            }
            else
            {
                if (CopywriterDictionary.ContainsValue(cw) == false)
                {
                    return(false);
                }
                else
                {
                    key = CopywriterDictionary.First(x => x.Value == cw).Key;
                    cw.PropertyChanged -= DictionaryHandler;
                    CopywritersChanged?.Invoke(this, new CopywritersChangedEventArgs <TKey>(CopywriterCollectionName, Action.Remove, "", key));
                    return(CopywriterDictionary.Remove(key));
                }
            }
        }
Esempio n. 5
0
 private void PropertyChanged(object source, PropertyChangedEventArgs args)
 {
     CopywritersChanged?.Invoke(source, new CopywritersChangedEventArgs <TKey>(ColName, Action.Property, args.PropertyName, GenerateKey(source as Copywriter)));
 }
 private void DictionaryHandler(object source, PropertyChangedEventArgs e)
 {
     CopywritersChanged?.Invoke(this, new CopywritersChangedEventArgs <TKey>(CopywriterCollectionName, Action.Property, e.PropertyName, CopywriterDictionary.First(x => x.Value.Equals(source)).Key));
 }