yavsc/yavscModel/FrontOffice/Catalog/CatalogManager.cs
Paul Schneider 3c6c3f19aa Refactoring: moving
the Catalog manager and model into the Yavsc.Model.FrontOffice 
namespace
* Web.config:
* Catalog.xml:
* MyClass.cs:
* Note.cs:
* Euro.cs:
* Unit.cs:
* Text.cs:
* Link.cs:
* Price.cs:
* Label.cs:
* Brand.cs:
* Scalar.cs:
* Option.cs:
* Period.cs:
* YavscModel.csproj:
* Catalog.cs:
* Service.cs:
* Product.cs:
* YavscClient.csproj:
* CatalogManager.cs:
* Currency.cs:
* CheckBox.cs:
* SaleForm.cs:
* FormInput.cs:
* CatalogProvider.cs:
* TextInput.cs:
* SelectItem.cs:
* SalesCatalog.csproj:
* FilesInput.cs:
* FormElement.cs:
* SelectInput.cs:
* IValueProvider.cs:
* StockStatus.cs:
* RadioButton.cs:
* Commande.cs:
* ProductImage.cs:
* WebCatalogExtensions.cs:
* TemplateException.cs:
* ProductCategory.cs:
* PhysicalProduct.cs:
* Note.cs:
* Link.cs:
* Text.cs:
* Euro.cs:
* Unit.cs:
* WorkFlowManager.cs:
* Brand.cs:
* Label.cs:
* Price.cs:
* Scalar.cs:
* FrontOfficeController.cs:
* Period.cs:
* Option.cs:
* Product.cs:
* Service.cs:
* Catalog.cs:
* SaleForm.cs:
* Currency.cs:
* CheckBox.cs:
* TextInput.cs:
* FrontOfficeApiController.cs:
* FormInput.cs:
* SelectItem.cs:
* FilesInput.cs:
* XmlCatalog.cs:
* FormElement.cs:
* SelectInput.cs:
* RadioButton.cs:
* StockStatus.cs:
* ProductImage.cs:
* CatalogHelper.cs:
* CatalogManager.cs:
* CatalogProvider.cs:
* ProductCategory.cs:
* PhysicalProduct.cs:
* XmlCatalogProvider.cs:
* CatalogProviderConfigurationElement.cs:
* CatalogProvidersConfigurationSection.cs:
* CatalogProvidersConfigurationCollection.cs:
* CatalogProviderConfigurationElement.cs:
* CatalogProvidersConfigurationSection.cs:
* CatalogProvidersConfigurationCollection.cs: 
* CatalogHelper.cs:
2015-01-28 15:04:07 +01:00

37 lines
956 B
C#

using System;
namespace Yavsc.Model.FrontOffice
{
/// <summary>
/// Catalog manager.
/// Use this class to retreive the catalog or its elements
/// </summary>
public static class CatalogManager
{
private static CatalogProvider defaultProvider = null;
public static Catalog GetCatalog (string catalogUri)
{
if (defaultProvider == null) {
if (CatalogHelper.Config == null)
CatalogHelper.LoadConfig ();
defaultProvider = CatalogHelper.GetDefaultProvider ();
}
Catalog res = defaultProvider.GetCatalog ();
// Assert res.Brands.All( x => x.DefaultForm != null );
// Sanity fixes
foreach (Brand b in res.Brands) {
if (b.DefaultForm.CatalogReference==null)
b.DefaultForm.CatalogReference = catalogUri;
foreach (ProductCategory pc in b.Categories) {
foreach (Product p in pc.Products) {
if (p.CommandForm == null)
p.CommandForm = b.DefaultForm;
}
}
}
return res;
}
}
}