38 lines
956 B
C#
38 lines
956 B
C#
10 years ago
|
using System;
|
||
10 years ago
|
namespace Yavsc.Model.FrontOffice
|
||
10 years ago
|
{
|
||
|
/// <summary>
|
||
|
/// Catalog manager.
|
||
|
/// Use this class to retreive the catalog or its elements
|
||
|
/// </summary>
|
||
|
public static class CatalogManager
|
||
|
{
|
||
10 years ago
|
private static CatalogProvider defaultProvider = null;
|
||
10 years ago
|
public static Catalog GetCatalog (string catalogUri)
|
||
10 years ago
|
{
|
||
10 years ago
|
|
||
10 years ago
|
if (defaultProvider == null) {
|
||
|
if (CatalogHelper.Config == null)
|
||
|
CatalogHelper.LoadConfig ();
|
||
|
defaultProvider = CatalogHelper.GetDefaultProvider ();
|
||
10 years ago
|
}
|
||
|
Catalog res = defaultProvider.GetCatalog ();
|
||
10 years ago
|
|
||
10 years ago
|
// 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;
|
||
|
}
|
||
|
}
|
||
10 years ago
|
}
|
||
10 years ago
|
return res;
|
||
10 years ago
|
}
|
||
|
}
|
||
|
}
|
||
|
|