Example #1
0
        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();
        }
Example #2
0
        public IEnumerable <string> GetSourceNames(bool distinct = false)
        {
            if (distinct)
            {
                return(ElementMappings.Select(x => x.SourceName).Distinct());
            }

            return(ElementMappings.Select(x => x.SourceName));
        }
Example #3
0
 public void Add(ElementMapping map)
 {
     if (!_sourceIds.ContainsKey(map.SourceId))
     {
         _sourceIds.Add(map.SourceId, map);
         ElementMappings.Add(map);
         SortByName();
     }
 }
Example #4
0
 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));
     });
 }
Example #5
0
 internal void UpdateSourceIdMap()
 {
     _sourceIds.Clear();
     _sourceIds.AddRange(ElementMappings.Select(x => new KeyValuePair <Guid, ElementMapping>(x.SourceId, x)));
 }
Example #6
0
 public void CreateMapsForSources(Dictionary <Guid, string> elementSources)
 {
     ElementMappings.AddRange(elementSources.Select(x => new ElementMapping(x.Key, x.Value)).OrderBy(x => x.SourceName));
     UpdateSourceIdMap();
 }
Example #7
0
 public Dictionary <Guid, string> GetSourceNameIds()
 {
     return(ElementMappings.ToDictionary(x => x.SourceId, x => x.SourceName));
 }
Example #8
0
 public Dictionary <string, Guid> GetSourceNameToTargetIdMap()
 {
     return(ElementMappings.ToDictionary(x => x.SourceName, x => x.TargetId));
 }
Example #9
0
 public void Clear()
 {
     ElementMappings.Clear();
     _sourceIds.Clear();
 }