예제 #1
0
        public async Task <IEnumerable <NameMapping> > GetAllNameMappings(List <string> pluginsNames)
        {
            _nameMappings.Clear();
            if (_configurationSettings.DeployMode != Enums.DeployMode.AzureBlob)
            {
                if (string.IsNullOrEmpty(_configurationSettings.NameMappingsFilePath))
                {
                    return(new List <NameMapping>());
                }
                var localMappings = await ReadLocalNameMappings(_configurationSettings.NameMappingsFilePath);

                _nameMappings.AddRange(localMappings);
            }
            else
            {
                var azureMappings = await _azureRepository.GetNameMappingsFromContainer();

                _nameMappings.AddRange(azureMappings);
            }

            return
                (pluginsNames.Select(pluginName => _nameMappings.FirstOrDefault(n => n.OldName.Equals(pluginName))).Where(
                     mapping => mapping != null));
        }