Пример #1
0
        public void LoadAliases()
        {
            if (Dictionary != null)
            {
                throw new Exception("Cannot load aliases if some are already loaded");
            }
            Dictionary = new Dictionary <string, AliasRow>();

            string[] lines = File.ReadAllLines(_aliasesCsvFilename);

            int i = 0;

            foreach (var line in lines)
            {
                if (string.IsNullOrWhiteSpace(line))
                {
                    i++;
                    continue;
                }

                var split = line.Split(',');

                AliasRow alias = new AliasRow {
                    Alias     = split[0],
                    MapsTo    = split[1],
                    Comment   = split.Length > 2 ? split[2] : null,
                    FileIndex = i,
                };
                Dictionary.Add(alias.Alias, alias);
                i++;
            }
            _lastLine = i;
        }
Пример #2
0
 public void SetAlias(string alias, string mapping)
 {
     if (Dictionary.ContainsKey(alias))
     {
         if (string.IsNullOrWhiteSpace(mapping))
         {
             Dictionary.Remove(alias);
         }
         else
         {
             Dictionary[alias].MapsTo = mapping;
         }
         SaveAliasesFile();
     }
     else
     {
         if (string.IsNullOrEmpty(mapping))
         {
             return;
         }
         var aliasRow = new AliasRow {
             Alias     = alias,
             MapsTo    = mapping,
             FileIndex = _lastLine,
             Comment   = null,
         };
         Dictionary.Add(alias, aliasRow);
         _lastLine++;
         AppendAliasFile(aliasRow);
     }
 }
Пример #3
0
 private void AppendAliasFile(AliasRow al)
 {
     File.AppendAllText(_aliasesCsvFilename, $"\n{al.Alias},{al.MapsTo},{al.Comment}");
 }