public virtual bool PrepareImportRow(string viewName, IDictionary keys, IDictionary values) { if (viewName.Equals(nameof(RelatedItems), StringComparison.InvariantCultureIgnoreCase) && !DontUpdateExistRecords) { if (_duplicateFinder == null) { var items = RelatedItems.SelectMain(); _duplicateFinder = new DuplicatesSearchEngine <INRelatedInventory>(RelatedItems.Cache, GetAlternativeKeyFields(), items); } var duplicate = _duplicateFinder.Find(values); if (duplicate != null) { if (keys.Contains(nameof(INRelatedInventory.LineID))) { keys[nameof(INRelatedInventory.LineID)] = duplicate.LineID; } else { keys.Add(nameof(INRelatedInventory.LineID), duplicate.LineID); } } } return(true); }
public virtual void ImportDone(PXImportAttribute.ImportMode.Value mode) { _duplicateFinder = null; }