public void AddRange(IEnumerable <ElementMapping> maps) { var mapsToAdd = maps.Where(x => !_sourceIds.ContainsKey(x.SourceId)); _sourceIds.AddRange(mapsToAdd.Select(x => new KeyValuePair <Guid, ElementMapping>(x.SourceId, x))); ElementMappings.AddItems(mapsToAdd); SortByName(); }
public IEnumerable <string> GetSourceNames(bool distinct = false) { if (distinct) { return(ElementMappings.Select(x => x.SourceName).Distinct()); } return(ElementMappings.Select(x => x.SourceName)); }
public void Add(ElementMapping map) { if (!_sourceIds.ContainsKey(map.SourceId)) { _sourceIds.Add(map.SourceId, map); ElementMappings.Add(map); SortByName(); } }
private void SortByName() { ElementMappings.Sort(delegate(ElementMapping x, ElementMapping y) { if (x.SourceName == null && y.SourceName == null) { return(0); } if (x.SourceName == null) { return(-1); } if (y.SourceName == null) { return(1); } return(string.Compare(x.SourceName, y.SourceName, StringComparison.CurrentCulture)); }); }
internal void UpdateSourceIdMap() { _sourceIds.Clear(); _sourceIds.AddRange(ElementMappings.Select(x => new KeyValuePair <Guid, ElementMapping>(x.SourceId, x))); }
public void CreateMapsForSources(Dictionary <Guid, string> elementSources) { ElementMappings.AddRange(elementSources.Select(x => new ElementMapping(x.Key, x.Value)).OrderBy(x => x.SourceName)); UpdateSourceIdMap(); }
public Dictionary <Guid, string> GetSourceNameIds() { return(ElementMappings.ToDictionary(x => x.SourceId, x => x.SourceName)); }
public Dictionary <string, Guid> GetSourceNameToTargetIdMap() { return(ElementMappings.ToDictionary(x => x.SourceName, x => x.TargetId)); }
public void Clear() { ElementMappings.Clear(); _sourceIds.Clear(); }