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)); }
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)); } } }
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)); }