/// <summary> /// Gets the options with names from external data source or database. /// </summary> /// <param name="skuIdOfProductWithCategories">Id of product with categories.</param> /// <param name="categoryId">The category id.</param> private Dictionary <int, string> GetOptionsWithNames(int skuIdOfProductWithCategories, int categoryId) { Dictionary <int, string> optionsWithName = new Dictionary <int, string>(); if ((ExternalDataSource != null) && (ExternalDataSource.Count > 0)) { // External data OptionCategoryInfo categoryInfo = ExternalDataSource.Keys.First(k => k.CategoryID == categoryId); List <SKUInfo> externalOptions = ExternalDataSource[categoryInfo]; foreach (SKUInfo info in externalOptions) { optionsWithName.Add(info.SKUID, info.SKUName); } return(optionsWithName); } else { InfoDataSet <SKUInfo> dsOptions = VariantHelper.GetEnabledOptionsWithVariantOptions(skuIdOfProductWithCategories, categoryId); if (!DataHelper.DataSourceIsEmpty(dsOptions)) { foreach (var option in dsOptions) { optionsWithName.Add(option.SKUID, option.SKUName); } } return(optionsWithName); } }