* App.master: * IModule.cs: * IRenderer.cs: * DataManager.cs: * ITagHandler.cs: * ViewRenderer.cs: * ResultPages.cs: * BBCodeHelper.cs: * IViewRenderer.cs: * Entity.cs: * YavscModel.csproj: * OAuth2.cs: * Calendar.cs: * Profile.aspx: * ApiClient.cs: * MapTracks.cs: * SalesCatalog.csproj: * EntityQuery.cs: * AdminController.cs: * BlogsController.cs: * GoogleController.cs: * SimpleJsonPostMethod.cs: * JsonReaderError.cs: * AccountController.cs: * JsonReaderError.aspx: * GoogleErrorMessage.cs: * GoogleErrorMessage.aspx: * Catalog.cs: refactoring * Makefile: preprod is from local domain, and prod is for lua.pschneider.fr
69 lines
1.5 KiB
C#
69 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace SalesCatalog.Model
|
|
{
|
|
/// <summary>
|
|
/// Catalog.
|
|
/// </summary>
|
|
public class Catalog {
|
|
|
|
/// <summary>
|
|
/// Gets or sets the catalog unique identifier in the system.
|
|
/// </summary>
|
|
/// <value>The unique identifier.</value>
|
|
string UID { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the brands.
|
|
/// </summary>
|
|
/// <value>The brands.</value>
|
|
public Brand[] Brands { get; set; }
|
|
|
|
public Brand GetBrand(string brandName)
|
|
{
|
|
return Array.Find<Brand>(Brands, b => b.Name == brandName);
|
|
}
|
|
|
|
public Brand AddBrand(string brandName,string slogan=null, ProductImage logo=null)
|
|
{
|
|
Brand[] oldbrs = (Brand[]) Brands.Clone ();
|
|
int oldl = Brands.Length;
|
|
Array.Resize<Brand>(ref oldbrs,oldl+1);
|
|
Brand b = new Brand ();
|
|
b.Name=brandName;
|
|
b.Slogan = slogan;
|
|
b.Logo = logo;
|
|
oldbrs [oldl] = b;
|
|
Brands=oldbrs;
|
|
return b;
|
|
}
|
|
|
|
public bool RemoveBrand(string brandName)
|
|
{
|
|
Brand b = this.GetBrand (brandName);
|
|
if (b == null)
|
|
return false;
|
|
//ASSERT Brands.Length>0;
|
|
List<Brand> nb = new List<Brand> (Brands);
|
|
nb.Remove (b);
|
|
Brands = nb.ToArray ();
|
|
return true;
|
|
}
|
|
|
|
public DateTime StartDate { get; set; }
|
|
|
|
public DateTime EndDate { get; set; }
|
|
|
|
public Product FindProduct (string reference)
|
|
{
|
|
Product p = null;
|
|
foreach (Brand b in Brands)
|
|
foreach (ProductCategory c in b.Categories)
|
|
if ((p = c.GetProduct(reference))!=null)
|
|
return p;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
}
|