public bool Add(byte[] compositeKey, ResultItem resultItem) { bool retVal = false; ResultItemBag resultItemBag; if (KeyBagMapping.TryGetValue(compositeKey, out resultItemBag)) { SortedResultItemBagList.Remove(resultItemBag); resultItemBag.Add(resultItem); retVal = true; } else { resultItemBag = new ResultItemBag(BaseComparer, compositeKey); resultItemBag.Add(resultItem); KeyBagMapping.Add(compositeKey, resultItemBag); } SortedResultItemBagList.Add(resultItemBag); return(retVal); }
public bool Add(byte[] compositeKey, ResultItemBag resultItemBag) { bool retVal = false; ResultItemBag storedResultItemBag; if (KeyBagMapping.TryGetValue(compositeKey, out storedResultItemBag)) { SortedResultItemBagList.Remove(storedResultItemBag); foreach (ResultItem resultItem in resultItemBag) { storedResultItemBag.Add(resultItem); } SortedResultItemBagList.Add(storedResultItemBag); retVal = true; } else { KeyBagMapping.Add(compositeKey, resultItemBag); SortedResultItemBagList.Add(resultItemBag); } return(retVal); }