My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
using System;
using System.Collections.Generic;
using System.Linq;
using MvcContrib.Pagination;
using Suteki.Common.Extensions;
using Suteki.Common.ViewData;

namespace Suteki.Shop.ViewData
{
public class ShopViewData : ViewDataBase
{
public Category Category { get; set; }
public IEnumerable<Category> Categories { get; set; }
public CategoryViewData CategoryViewData { get; set; }

public Product Product { get; set; }
public IEnumerable<Product> Products { get; set; }

public IEnumerable<Role> Roles { get; set; }

public User User { get; set; }
public IEnumerable<User> Users { get; set; }

public Basket Basket { get; set; }

public Order Order { get; set; }
public PagedList<Order> Orders { get; set; }
public OrderSearchCriteria OrderSearchCriteria { get; set; }

public IEnumerable<Country> Countries { get; set; }
public Country Country { get; set; }

public IEnumerable<CardType> CardTypes { get; set; }

public Postage Postage { get; set; }
public IEnumerable<Postage> Postages { get; set; }

public PostageResult PostageResult { get; set; }

public Card Card { get; set; }

public IEnumerable<StockItem> StockItems { get; set; }

public IEnumerable<Content> Contents { get; set; }

public IEnumerable<OrderStatus> OrderStatuses { get; set; }

public MailingListSubscription MailingListSubscription { get; set; }

public IPagination<MailingListSubscription> MailingListSubscriptions { get; set; }

public bool IsPrint { get; set; }

public bool HasProducts
{
get { return Products != null && Products.Count() != 0; }
}

// attempt at a fluent interface

public ShopViewData WithCategory(Category category)
{
this.Category = category;
return this;
}

public ShopViewData WithCategories(IEnumerable<Category> categories)
{
this.Categories = categories;
return this;
}

public ShopViewData WithCategoryViewData(CategoryViewData category)
{
this.CategoryViewData = category;
return this;
}

public ShopViewData WithProduct(Product product)
{
this.Product = product;
return this;
}

public ShopViewData WithProducts(IEnumerable<Product> products)
{
this.Products = products;
return this;
}

public ShopViewData WithRoles(IEnumerable<Role> roles)
{
this.Roles = roles;
return this;
}

public ShopViewData WithUser(User user)
{
this.User = user;
return this;
}

public ShopViewData WithUsers(IEnumerable<User> users)
{
this.Users = users;
return this;
}

public ShopViewData WithBasket(Basket basket)
{
this.Basket = basket;
return this;
}

public ShopViewData WithOrders(PagedList<Order> orders)
{
this.Orders = orders;
return this;
}

public ShopViewData WithOrder(Order order)
{
this.Order = order;
return this;
}

public ShopViewData WithOrderSearchCriteria(OrderSearchCriteria orderSearchCriteria)
{
this.OrderSearchCriteria = orderSearchCriteria;
return this;
}

public ShopViewData WithCountries(IEnumerable<Country> countries)
{
this.Countries = countries;
return this;
}

public ShopViewData WithCountry(Country country)
{
this.Country = country;
return this;
}

public ShopViewData WithCardTypes(IEnumerable<CardType> cardTypes)
{
this.CardTypes = cardTypes;
return this;
}

public ShopViewData WithPostage(Postage postage)
{
this.Postage = postage;
return this;
}

public ShopViewData WithPostages(IEnumerable<Postage> postages)
{
this.Postages = postages;
return this;
}

public ShopViewData WithTotalPostage(PostageResult postageResult)
{
this.PostageResult = postageResult;
return this;
}

public ShopViewData WithCard(Card card)
{
this.Card = card;
return this;
}

public ShopViewData WithStockItems(IEnumerable<StockItem> stockItems)
{
this.StockItems = stockItems;
return this;
}

public ShopViewData WithContents(IEnumerable<Content> contents)
{
this.Contents = contents;
return this;
}

public ShopViewData WithOrderStatuses(IEnumerable<OrderStatus> orderStatuses)
{
this.OrderStatuses = orderStatuses;
return this;
}

public ShopViewData WithSubscription(MailingListSubscription subscription)
{
this.MailingListSubscription = subscription;
return this;
}

public ShopViewData WithSubscriptions(IPagination<MailingListSubscription> subscriptions)
{
this.MailingListSubscriptions = subscriptions;
return this;
}
}

/// <summary>
/// So you can write
/// ShopView.Data.WithProducts(myProducts);
/// </summary>
public class ShopView
{
public static ShopViewData Data { get { return new ShopViewData(); } }
}
}

Change log

r365 by mikehadlow on Nov 1, 2009   Diff
Category admin page now uses
CategoryViewData. Removed nasty ICategory
interface.
Go to: 
Project members, sign in to write a code review

Older revisions

r347 by Jeremy.Skinner on Jun 21, 2009   Diff
Edit UI for mailing list subscriptions
r337 by mikehadlow on May 25, 2009   Diff
Layout tweaks.
r334 by Jeremy.Skinner on May 24, 2009   Diff
Initial work on Mailing List
subscription page.
All revisions of this file

File info

Size: 5849 bytes, 214 lines
Powered by Google Project Hosting