Files
yavsc/web/CatExts/WebCatalogExtensions.cs
Paul Schneider 0a91d3935b * packages.config:
* App.master:
* datepair.js:
* Book.aspx:
* datepair.min.js:
* LocalizedText.resx:
* jquery.datepair.js:
* jquery-ui-1.11.4.js:
* jquery.timepicker.js:
* BookQuery.cs:
* jquery-1.11.3.min.js:
* LocalizedText.fr.resx:
* jquery.datepair.min.js:
* WebCatalogExtensions.cs:
* GoogleController.cs:
* LocalizedText.Designer.cs:
* jquery.timepicker.min.js:
* jquery.timepicker.css:
* Text.cs:
* Euro.cs:
* Unit.cs:
* Link.cs:
* Note.cs:
* LocalizedText.fr.Designer.cs:
* Brand.cs:
* Label.cs:
* Scalar.cs:
* FrontOfficeController.cs:
* Period.cs:
* Option.cs:
* Service.cs:
* Catalog.cs:
* Product.cs:
* CheckBox.cs:
* Currency.cs:
* SaleForm.cs:
* TextInput.cs:
* FormInput.cs:
* FilesInput.cs:
* SelectItem.cs:
* FormElement.cs:
* SelectInput.cs:
* RadioButton.cs:
* StockStatus.cs:
* ProductImage.cs:
* CatalogHelper.cs:
* CatalogManager.cs:
* ProductCategory.cs:
* PhysicalProduct.cs:
* ui-icons_ffffff_256x240.png:
* ui-icons_cccccc_256x240.png:
* CatalogProvider.cs:
* ui-icons_a83300_256x240.png:
* ui-icons_222222_256x240.png:
* ui-icons_4b8e0b_256x240.png:
* ui-bg_glass_20_555555_1x400.png:
* ui-bg_glass_40_0078a3_1x400.png:
* ui-bg_glass_40_ffc73d_1x400.png:
* ui-icons_222222_256x240.png:
* ui-icons_a83300_256x240.png:
* ui-icons_cccccc_256x240.png:
* ui-icons_4b8e0b_256x240.png:
* ui-icons_ffffff_256x240.png:
* ui-bg_glass_40_0078a3_1x400.png:
* ui-bg_glass_20_555555_1x400.png:
* ui-bg_inset-soft_30_f58400_1x100.png:
* ui-bg_inset-soft_25_000000_1x100.png:
* ui-bg_glass_40_ffc73d_1x400.png:
* ui-bg_gloss-wave_25_333333_500x100.png:
* ui-bg_highlight-soft_80_eeeeee_1x100.png:
* ui-bg_inset-soft_30_f58400_1x100.png:
* ui-bg_inset-soft_25_000000_1x100.png:
* ui-bg_gloss-wave_25_333333_500x100.png:
* ui-bg_highlight-soft_80_eeeeee_1x100.png:
* CatalogProviderConfigurationElement.cs:
* CatalogProvidersConfigurationSection.cs:
* CatalogProvidersConfigurationCollection.cs: Date pairing at booking,
 Fixes the client side ui, concerning the dates and times

* MyClass.cs:
* WorkFlowManager.cs:
* IContentProvider.cs:
* FrontOfficeController.cs:
* XmlCatalog.cs:
* NpgsqlContentProvider.cs:
* Price.cs:
* XmlCatalogProvider.cs:
* PriceOnItemCount.cs: refactoring: a dedicated name space
  for the catalog

* ChooseADate.aspx: WIP

* Web.csproj: date pairing : includes the javascript modules
2015-10-30 15:54:26 +01:00

95 lines
3.0 KiB
C#

using System;
using System.Web;
using System.Text;
using System.Web.Mvc;
using System.Web.Routing;
using Yavsc.Model.FrontOffice;
using System.Web.Mvc.Html;
using Yavsc.Model.FrontOffice.Catalog;
namespace Yavsc.CatExts
{
/// <summary>
/// Web catalog extensions.
/// </summary>
public static class WebCatalogExtensions
{
/// <summary>
/// Commands the form.
/// </summary>
/// <returns>The form.</returns>
/// <param name="helper">Helper.</param>
/// <param name="pos">Position.</param>
/// <param name="atc">Atc.</param>
public static string CommandForm(this HtmlHelper<PhysicalProduct> helper, Product pos,string atc="Add to backet") {
StringBuilder sb = new StringBuilder ();
sb.Append (helper.ValidationSummary ());
TagBuilder ft = new TagBuilder ("form");
ft.Attributes.Add("action","/FrontOffice/Command");
ft.Attributes.Add("method","post");
ft.Attributes.Add("enctype","multipart/form-data");
TagBuilder fieldset = new TagBuilder ("fieldset");
TagBuilder legend = new TagBuilder ("legend");
legend.SetInnerText (pos.Name);
TagBuilder para = new TagBuilder ("p");
StringBuilder sbfc = new StringBuilder ();
if (pos.CommandForm != null)
foreach (FormElement e in pos.CommandForm.Items) {
sbfc.Append (e.ToHtml ());
sbfc.Append ("<br/>\n");
}
sbfc.Append (
string.Format(
"<input type=\"submit\" value=\"{0}\"/><br/>\n",
atc
));
sbfc.Append (helper.Hidden ("ref", pos.Reference));
para.InnerHtml = sbfc.ToString ();
fieldset.InnerHtml = legend.ToString ()+"\n"+para.ToString ();
ft.InnerHtml = fieldset.ToString ();
sb.Append (ft.ToString ());
return sb.ToString ();
}
/// <summary>
/// Commands the form.
/// </summary>
/// <returns>The form.</returns>
/// <param name="helper">Helper.</param>
/// <param name="pos">Position.</param>
/// <param name="atc">Atc.</param>
public static string CommandForm(this HtmlHelper<Service> helper, Product pos,string atc="Add to backet") {
StringBuilder sb = new StringBuilder ();
sb.Append (helper.ValidationSummary ());
TagBuilder ft = new TagBuilder ("form");
ft.Attributes.Add("action","/FrontOffice/Command");
ft.Attributes.Add("method","post");
ft.Attributes.Add("enctype","multipart/form-data");
TagBuilder fieldset = new TagBuilder ("fieldset");
TagBuilder legend = new TagBuilder ("legend");
legend.SetInnerText (pos.Name);
TagBuilder para = new TagBuilder ("p");
StringBuilder sbfc = new StringBuilder ();
if (pos.CommandForm != null)
foreach (FormElement e in pos.CommandForm.Items) {
sbfc.Append (e.ToHtml ());
sbfc.Append ("<br/>\n");
}
sbfc.Append (
string.Format(
"<input type=\"submit\" value=\"{0}\"/><br/>\n",atc));
sbfc.Append (helper.Hidden ("ref", pos.Reference));
para.InnerHtml = sbfc.ToString ();
fieldset.InnerHtml = legend.ToString ()+"\n"+para.ToString ();
ft.InnerHtml = fieldset.ToString ();
sb.Append (ft.ToString ());
return sb.ToString ();
}
}
}