internal void Add(string key, DataColumn c, DataRow r1, DataRow r2, DataRow[] duplicatedRows) { ReconcileItem item = null; lock (dictKeyResult) { if (dictKeyResult.ContainsKey(key) == false) { dictKeyResult.Add(key, new ReconcileItem(r1, r2, key)); } } item = dictKeyResult[key]; if (r1 != null && r2 != null && c != null) { lock (item) { item.Add(c, r1[c.ColumnName], r2[c.ColumnName]); } } else if (duplicatedRows != null) { if (duplicatedRows.Contains(r1)) { lock (item) { item.Add(c, null, r2[0]); } } else if (duplicatedRows.Contains(r2)) { lock (item) item.Add(c, r1[0], null); } } }
internal void AddCountMismatch(string key, DataColumn c, int cnt1, int cnt2) { ReconcileItem item = null; lock (dictKeyResult) { if (dictKeyResult.ContainsKey(key) == false) { dictKeyResult.Add(key, new ReconcileItem(null, null, key)); } } item = dictKeyResult[key]; item.Add(c, cnt1, cnt2); }