You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by gb...@apache.org on 2005/06/19 16:45:25 UTC

svn commit: r191346 [13/16] - in /ibatis/trunk/cs/npetshop2: ./ External-bin/ NPetshop.Domain/ NPetshop.Domain/Accounts/ NPetshop.Domain/Billing/ NPetshop.Domain/Catalog/ NPetshop.Domain/Shopping/ NPetshop.Persistence/ NPetshop.Persistence/Ddl/ NPetsho...

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,20 @@
+<%@ Register TagPrefix="uc1" TagName="TopBar" Src="../TopBar.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="Banner" Src="../Banner.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="AddressUI" Src="../Accounts/AddressUI.ascx" %>
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Shipping.ascx.cs" Inherits="NPetshop.Web.UserControls.Billing.Shipping" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<uc1:Banner id="Banner" runat="server"></uc1:Banner>
+<uc1:TopBar id="TopBar" runat="server"></uc1:TopBar>
+<div style="MARGIN-TOP: 20px; MARGIN-LEFT: 50px">
+	<P />
+	<fieldset style="WIDTH:600px">
+		<legend class="label">
+			Shipping Address</legend>
+		<uc1:AddressUI id="ucShippingAddress" runat="server"></uc1:AddressUI>
+	</fieldset>
+	<table cellSpacing="0" cellPadding="1" width="600">
+		<tr>
+			<td align="left"><asp:button id="ButtonBack" CommandName="cancelShippingAddress" runat="server" Text="Back"></asp:button></td>
+			<td align="right"><asp:button id="ButtonSubmit" CommandName="bill" runat="server" Text="Submit"></asp:button></td>
+		</tr>
+	</table>
+</div>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,68 @@
+using NPetshop.Presentation;
+using NPetshop.Web.UserControls.Accounts;
+
+namespace NPetshop.Web.UserControls.Billing
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+
+	/// <summary>
+	///		Summary description for Shipping.
+	/// </summary>
+	public class Shipping : NPetshopUC
+	{
+		protected System.Web.UI.WebControls.Button ButtonBack;
+		protected System.Web.UI.WebControls.Button ButtonSubmit;
+		protected AddressUI ucShippingAddress = null;
+		private BillingController _billingController = null;
+
+		public BillingController BillingController
+		{
+			set { _billingController = value; }
+		}
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{
+			// Put user code to initialize the page here
+		}
+
+		private void ButtonBack_Click(object sender, System.EventArgs e)
+		{
+			_billingController.CancelShippingAddress();
+		}
+
+		private void ButtonSubmit_Click(object sender, System.EventArgs e)
+		{
+			_billingController.SubmitShippingAddress(ucShippingAddress.Address);
+		}
+
+		#region Web Form Designer generated code
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Required method for Designer support - do not modify
+		///		the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.ButtonBack.Click += new System.EventHandler(this.ButtonBack_Click);
+			this.ButtonSubmit.Click += new System.EventHandler(this.ButtonSubmit_Click);
+			this.Load += new System.EventHandler(this.Page_Load);
+
+		}
+		#endregion
+
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Billing/Shipping.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,48 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Category.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.Category" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<%@ Register TagPrefix="uc1" TagName="Banner" Src="../Banner.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="TopBar" Src="../TopBar.ascx" %>
+<uc1:Banner id="Banner" runat="server"></uc1:Banner>
+<uc1:TopBar id="TopBar" runat="server"></uc1:TopBar>
+<div style="MARGIN-TOP:50px;MARGIN-LEFT:50px">
+	<asp:Label id="LabelCategory" CssClass="pageHeader" runat="server">Category</asp:Label>
+	<p>
+		<asp:Repeater id="RepeaterProducts" OnItemCommand="RepeaterProducts_ItemCommand" runat="server">
+			<HeaderTemplate>
+				<table cellSpacing="0" cellPadding="0" border="0" width="500px">
+					<tr class="gridHead">
+						<td>Product ID</td>
+						<td>Name</td>
+						<td>Description</td>
+					</tr>
+			</HeaderTemplate>
+			<ItemTemplate>
+				<tr class="gridItem">
+					<td>
+						<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Id %>
+					</td>
+					<td>
+						<asp:LinkButton id="LinkButtonProduct" CausesValidation=False runat="server" CommandName="showProduct" CommandArgument="<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Id %>">
+							<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Name %>
+						</asp:LinkButton>
+					</td>
+					<td>
+						<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Description %>
+					</td>
+				</tr>
+			</ItemTemplate>
+			<FooterTemplate>
+				</table>
+			</FooterTemplate>
+		</asp:Repeater>
+		<table cellSpacing="0" cellPadding="0" border="0" width="500">
+			<tr>
+				<td colspan="2" align="left">
+					<asp:LinkButton id="LinkbuttonPrev" CausesValidation="False" runat="server" CommandName="Prev">Prev</asp:LinkButton>
+				</td>
+				<td colspan="2" align="right">
+					<asp:LinkButton id="LinkbuttonNext" CausesValidation="False" runat="server" CommandName="Next">Next</asp:LinkButton>
+				</td>
+			</tr>
+		</table>
+	</p>
+</div>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,106 @@
+using System;
+using System.Web.UI.WebControls;
+using IBatisNet.Common.Pagination;
+using NPetshop.Domain.Catalog;
+using NPetshop.Presentation;
+
+
+namespace NPetshop.Web.UserControls.Catalog
+{
+	/// <summary>
+	/// Description résumée de Category.
+	/// </summary>
+	public class Category : NPetshopUC
+	{
+		protected LinkButton LinkbuttonPrev;
+		protected Label LabelCategory;
+		protected Repeater RepeaterProducts;
+		protected LinkButton LinkbuttonNext;
+		private CatalogController _catalogController = null;
+
+		public CatalogController CatalogController
+		{
+			set { _catalogController = value; }
+		}
+
+		private void Page_Load(object sender, EventArgs e)
+		{
+			if (!IsPostBack)
+			{
+				DataBind();	
+			}
+		}
+
+		public override void DataBind()
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			Domain.Catalog.Category category  = ((Domain.Catalog.Product) productList[0]).Category;
+
+			RepeaterProducts.DataSource = productList;
+			RepeaterProducts.DataBind();
+
+			if (productList.IsNextPageAvailable)
+			{
+				LinkbuttonNext.Visible = true;
+				LinkbuttonNext.CommandArgument = category.Id;
+			}
+			else
+			{
+				LinkbuttonNext.Visible = false;
+			}
+			if (productList.IsPreviousPageAvailable)
+			{
+				LinkbuttonPrev.Visible = true;
+				LinkbuttonPrev.CommandArgument = category.Id;
+			}
+			else
+			{
+				LinkbuttonPrev.Visible = false;
+			}
+
+			LabelCategory.Text = category.Name;
+		}
+
+		protected void RepeaterProducts_ItemCommand(object source, RepeaterCommandEventArgs e)
+		{
+			_catalogController.ShowItemsByProduct(e.CommandArgument.ToString());
+		}
+
+		private void LinkbuttonPrev_Command(object source, CommandEventArgs e)
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			productList.PreviousPage();
+			DataBind();	
+		}
+
+		private void LinkbuttonNext_Command(object source, CommandEventArgs e)
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			productList.NextPage();
+			DataBind();	
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new EventHandler(this.Page_Load);
+			this.LinkbuttonPrev.Command += new System.Web.UI.WebControls.CommandEventHandler(this.LinkbuttonPrev_Command);
+			this.LinkbuttonNext.Command += new System.Web.UI.WebControls.CommandEventHandler(this.LinkbuttonNext_Command);
+
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Category.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,38 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Item.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.Item" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<%@ Register TagPrefix="uc1" TagName="Banner" Src="../Banner.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="TopBar" Src="../TopBar.ascx" %>
+<uc1:Banner id="Banner" runat="server"></uc1:Banner>
+<uc1:TopBar id="TopBar" runat="server"></uc1:TopBar>
+<div style="MARGIN-TOP:50px;MARGIN-LEFT:50px">
+	<asp:Label id="LabelProduct" CssClass="pageHeader" runat="server">Product</asp:Label>
+	<p>
+		<table cellpadding="0" cellspacing="0" id="Table1">
+			<tr valign="top">
+				<td class="desc" width="130">
+					<asp:Image id="ImagePhoto" runat="server"></asp:Image>
+				</td>
+				<td>
+					<table cellpadding="1" cellspacing="0" id="Table2">
+						<tr class="gridItem">
+							<td class="label">Name :</td>
+							<td><asp:label id="LabelName" runat="server" /></td>
+						</tr>
+						<tr class="gridItem">
+							<td class="label">Description :</td>
+							<td><asp:label id="LabelDescription" runat="server" /></td>
+						</tr>							
+						<tr class="gridItem">
+							<td class="label">Price :</td>
+							<td><asp:label id="LabelPrice" runat="server" /></td>
+						</tr>
+						<tr class="gridItem">
+							<td class="label">Quantity :</td>
+							<td><asp:label id="LabelQty" runat="server" /></td>
+						</tr>
+					</table>
+					<p><asp:LinkButton id="LinkButtonAddToCart" runat="server" CommandName="addToCart" CausesValidation="False">Add to cart</asp:LinkButton></p>
+				</td>
+			</tr>
+		</table>
+	</p>
+</div>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,77 @@
+using System;
+using System.Web.UI.WebControls;
+using NPetshop.Presentation;
+
+namespace NPetshop.Web.UserControls.Catalog
+{
+	/// <summary>
+	/// Description résumée de Item.
+	/// </summary>
+	public class Item : NPetshopUC
+	{
+		protected Label LabelDescription;
+		protected Label LabelName;
+		protected Label LabelPrice;
+		protected LinkButton LinkButtonAddToCart;
+		protected Label LabelProduct;
+		protected Image ImagePhoto;
+		protected Label LabelQty;
+		private ShoppingController _shoppingController = null;
+
+		public ShoppingController ShoppingController
+		{
+			set { _shoppingController = value; }
+		}
+
+		private void Page_Load(object sender, EventArgs e)
+		{
+			if (!IsPostBack)
+			{
+				DataBind();	
+			}
+		}
+
+		public override void DataBind()
+		{				
+			Domain.Catalog.Item item = this.NPetshopState.CurrentObject as Domain.Catalog.Item; 
+			if (item != null)
+			{
+				LabelProduct.Text = item.Product.Name;
+				LabelDescription.Text = item.Attribute1;
+				LabelPrice.Text = item.ListPrice.ToString();
+				LabelQty.Text = item.Quantity.ToString();
+				LabelName.Text = item.Id;
+				ImagePhoto.ImageUrl = ImagePhoto.ResolveUrl("~/@images/pets/"+item.Photo);
+				LinkButtonAddToCart.CommandArgument = item.Id;
+			}
+		}
+
+		private void LinkButtonAddToCart_Click(object sender, CommandEventArgs e)
+		{
+			_shoppingController.AddItemToCart(e.CommandArgument.ToString());
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.LinkButtonAddToCart.Command += new CommandEventHandler(this.LinkButtonAddToCart_Click);
+			this.Load += new EventHandler(this.Page_Load);
+
+		}
+		#endregion
+
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Item.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="MyList.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.MyList" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,41 @@
+namespace NPetshop.Web.UserControls.Catalog
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+	/// <summary>
+	/// Description résumée de MyList.
+	/// </summary>
+	public class MyList : System.Web.UI.UserControl
+	{
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{
+			// Placer ici le code utilisateur pour initialiser la page
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new System.EventHandler(this.Page_Load);
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/MyList.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<root>
+	<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+		<xsd:element name="root" msdata:IsDataSet="true">
+			<xsd:complexType>
+				<xsd:choice maxOccurs="unbounded">
+					<xsd:element name="data">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+								<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" />
+							<xsd:attribute name="type" type="xsd:string" />
+							<xsd:attribute name="mimetype" type="xsd:string" />
+						</xsd:complexType>
+					</xsd:element>
+					<xsd:element name="resheader">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" use="required" />
+						</xsd:complexType>
+					</xsd:element>
+				</xsd:choice>
+			</xsd:complexType>
+		</xsd:element>
+	</xsd:schema>
+	<resheader name="ResMimeType">
+		<value>text/microsoft-resx</value>
+	</resheader>
+	<resheader name="Version">
+		<value>1.0.0.0</value>
+	</resheader>
+	<resheader name="Reader">
+		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+	<resheader name="Writer">
+		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+</root>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,50 @@
+<%@ Register TagPrefix="uc1" TagName="TopBar" Src="../TopBar.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="Banner" Src="../Banner.ascx" %>
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Product.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.Product" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<uc1:banner id="Banner" runat="server"></uc1:banner><uc1:topbar id="TopBar" runat="server"></uc1:topbar>
+<div style="MARGIN-TOP: 50px; MARGIN-LEFT: 50px"><asp:label id="LabelProduct" runat="server" CssClass="pageHeader">Product</asp:label>
+	<p>
+		<asp:repeater OnItemCommand="RepeaterItems_ItemCommand" id="RepeaterItems" runat="server">
+			<HeaderTemplate>
+				<table cellSpacing="0" cellPadding="0" border="0" width="600px">
+					<tr class="gridHead">
+						<td>Item ID</td>
+						<td>Description</td>
+						<td>List Price</td>
+						<td>&nbsp;</td>
+					</tr>
+			</HeaderTemplate>
+			<ItemTemplate>
+				<tr class="gridItem">
+					<td>
+						<asp:LinkButton id="LinkButtonItem" CausesValidation=False runat="server" CommandName="showItem" CommandArgument="<%# ((NPetshop.Domain.Catalog.Item)Container.DataItem).Id %>">
+							<%# ((NPetshop.Domain.Catalog.Item)Container.DataItem).Id %>
+						</asp:LinkButton>
+					</td>
+					<td><%# ((NPetshop.Domain.Catalog.Item)Container.DataItem).Product.Description %></td>
+					<td>
+						<%# DataBinder.Eval(Container.DataItem, "ListPrice", "{0:c}") %>
+					</td>
+					<td>
+						<asp:LinkButton id="LinkbuttonAddToCart" CausesValidation=False runat="server" CommandName="addToCart" CommandArgument="<%# ((NPetshop.Domain.Catalog.Item)Container.DataItem).Id %>">
+							Add to cart
+						</asp:LinkButton>					
+					</td>
+				</tr>
+			</ItemTemplate>
+			<FooterTemplate>
+				</table>
+			</FooterTemplate>
+		</asp:repeater>
+		<table cellSpacing="0" cellPadding="0" border="0" width="500">
+			<tr>
+				<td colspan="2" align="left">
+					<asp:LinkButton id="LinkbuttonPrev" CausesValidation="False" runat="server" CommandName="Prev">Prev</asp:LinkButton>
+				</td>
+				<td colspan="2" align="right">
+					<asp:LinkButton id="LinkbuttonNext" CausesValidation="False" runat="server" CommandName="Next">Next</asp:LinkButton>
+				</td>
+			</tr>
+		</table>
+	</p>
+</div>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,105 @@
+using System;
+using System.Web.UI.WebControls;
+using IBatisNet.Common.Pagination;
+using NPetshop.Presentation;
+
+namespace NPetshop.Web.UserControls.Catalog
+{
+	/// <summary>
+	///	Summary description for Product.
+	/// </summary>
+	public class Product : NPetshopUC
+	{
+		protected Label LabelProduct;
+		protected Repeater RepeaterItems;
+		protected LinkButton LinkbuttonPrev;
+		protected LinkButton LinkbuttonNext;
+		private CatalogController _catalogController = null;
+		private ShoppingController _shoppingController = null;
+
+		public ShoppingController ShoppingController
+		{
+			set { _shoppingController = value; }
+		}
+
+		public CatalogController CatalogController
+		{
+			set { _catalogController = value; }
+		}
+
+		private void Page_Load(object sender, EventArgs e)
+		{
+			if (!IsPostBack)
+			{
+				DataBind();	
+			}
+		}
+
+		public override void DataBind()
+		{
+			IPaginatedList itemList = this.NPetshopState.CurrentList as IPaginatedList; 
+			Domain.Catalog.Product product = itemList[0] as Domain.Catalog.Product; 
+
+			foreach(Domain.Catalog.Item item in itemList)
+			{
+				product = item.Product;
+			}
+
+			LabelProduct.Text = product.Name;
+			RepeaterItems.DataSource = itemList; 
+			RepeaterItems.DataBind();
+
+			if (itemList.IsNextPageAvailable)
+			{
+				LinkbuttonNext.Visible = true;
+				LinkbuttonNext.CommandArgument = product.Id;
+			}
+			else
+			{
+				LinkbuttonNext.Visible = false;
+			}
+			if (itemList.IsPreviousPageAvailable)
+			{
+				LinkbuttonPrev.Visible = true;
+				LinkbuttonPrev.CommandArgument = product.Id;
+			}
+			else
+			{
+				LinkbuttonPrev.Visible = false;
+			}
+		}
+
+		protected void RepeaterItems_ItemCommand(object source, RepeaterCommandEventArgs e)
+		{
+			if (e.CommandName == "showItem")
+			{
+				_catalogController.ShowItem(e.CommandArgument.ToString());
+			}
+			else if (e.CommandName == "addToCart")
+			{
+				_shoppingController.AddItemToCart(e.CommandArgument.ToString());
+			}
+		}
+
+		#region Web Form Designer generated code
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Required method for Designer support - do not modify
+		///		the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new EventHandler(this.Page_Load);
+
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Product.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,4 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Search.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.Search" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<asp:TextBox id="TextBoxSearch" style="COLOR:#ffffff; BACKGROUND-COLOR:#336669" runat="server"
+	Columns="8" Width="120px" />
+<asp:LinkButton id="LinkButtonSearch" CommandName="showResult" CausesValidation="False" runat="server" CssClass="menuOrange">SEARCH</asp:LinkButton>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,57 @@
+using System;
+using System.Web.UI.WebControls;
+using NPetshop.Presentation;
+
+namespace NPetshop.Web.UserControls.Catalog
+{
+	/// <summary>
+	/// Description résumée de Search.
+	/// </summary>
+	public class Search : NPetshopUC
+	{
+		protected LinkButton LinkButtonSearch;
+		protected RequiredFieldValidator RequiredFieldValidatorKeyword;
+		protected TextBox TextBoxSearch;
+		private CatalogController _catalogController = null;
+
+		public CatalogController CatalogController
+		{
+			set { _catalogController = value; }
+		}
+
+		private void Page_Load(object sender, EventArgs e)
+		{
+			// Placer ici le code utilisateur pour initialiser la page
+		}
+
+		private void LinkButtonSearch_Click(object sender, EventArgs e)
+		{
+			string keywords = TextBoxSearch.Text;
+
+			_catalogController.SearchProducts(keywords);
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.LinkButtonSearch.Click += new EventHandler(this.LinkButtonSearch_Click);
+			this.Load += new EventHandler(this.Page_Load);
+
+		}
+		#endregion
+
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/Search.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,49 @@
+<%@ Register TagPrefix="cc1" Namespace="NPetshop.Web.Controls" Assembly="NPetshop.Web" %>
+<%@ Register TagPrefix="uc1" TagName="Banner" Src="../Banner.ascx" %>
+<%@ Register TagPrefix="uc1" TagName="TopBar" Src="../TopBar.ascx" %>
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="SearchProduct.ascx.cs" Inherits="NPetshop.Web.UserControls.Catalog.SearchProduct" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<uc1:Banner id="Banner" runat="server"></uc1:Banner>
+<uc1:TopBar id="TopBar" runat="server"></uc1:TopBar>
+<div style="MARGIN-TOP: 50px; MARGIN-LEFT: 50px">
+	<span class="title">Search result for keywords :
+		<asp:Literal id="LiteralKeywords" runat="server"></asp:Literal>
+	</span>
+	<p>
+		<cc1:ExtendedRepeater id="RepeaterProduct" OnItemCommand="RepeaterProduct_ItemCommand" runat="server">
+			<HEADERTEMPLATE>
+				<TABLE cellSpacing="0" cellPadding="0" width="500" border="0">
+					<TBODY>
+						<TR class="gridHead">
+							<TD>Product ID</TD>
+							<TD>Name</TD>
+							<TD>Description</TD>
+						</TR>
+			</HEADERTEMPLATE>
+			<ITEMTEMPLATE>
+				<TR class="gridItem">
+					<TD><%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Id %></TD>
+					<TD>
+						<asp:LinkButton id=LinkButtonProduct runat="server" CommandArgument="<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Id %>" CommandName="showProduct" CausesValidation="False">
+							<%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Name %>
+						</asp:LinkButton></TD>
+					<TD><%# ((NPetshop.Domain.Catalog.Product)Container.DataItem).Description %></TD>
+				</TR>
+			</ITEMTEMPLATE>
+			<FOOTERTEMPLATE></TBODY></TABLE></FOOTERTEMPLATE>
+			<NODATATEMPLATE><BR>No 
+product found ! </NODATATEMPLATE>
+		</cc1:ExtendedRepeater>
+		<table cellSpacing="0" cellPadding="0" border="0" width="500">
+			<tr>
+				<td colspan="2" align="left">
+					<asp:LinkButton OnCommand="LinkbuttonPrev_Command" id="LinkbuttonPrev" CausesValidation="False"
+						runat="server" CommandName="Prev">Prev</asp:LinkButton>
+				</td>
+				<td colspan="2" align="right">
+					<asp:LinkButton OnCommand="LinkbuttonNext_Command" id="LinkbuttonNext" CausesValidation="False"
+						runat="server" CommandName="Next">Next</asp:LinkButton>
+				</td>
+			</tr>
+		</table>
+	</p>
+</div>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,108 @@
+using NPetshop.Presentation;
+
+namespace NPetshop.Web.UserControls.Catalog
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+	using IBatisNet.Common.Pagination;
+	using NPetshop.Domain.Catalog;
+
+	/// <summary>
+	/// Description résumée de SearchProduct.
+	/// </summary>
+	public class SearchProduct : NPetshopUC
+	{
+		protected System.Web.UI.WebControls.LinkButton LinkbuttonPrev;
+		protected System.Web.UI.WebControls.LinkButton LinkbuttonNext;
+		protected System.Web.UI.WebControls.Literal LiteralKeywords;
+		protected NPetshop.Web.Controls.ExtendedRepeater RepeaterProduct;
+		protected System.Web.UI.WebControls.LinkButton LinkButtonProduct;
+		private CatalogController _catalogController = null;
+
+		public CatalogController CatalogController
+		{
+			set { _catalogController = value; }
+		}
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{
+			if (!IsPostBack)
+			{
+				DataBind();	
+			}
+		}
+
+		public override void DataBind()
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			string keywords = this.NPetshopState.CurrentObject as string;
+			
+			LiteralKeywords.Text = keywords;
+			RepeaterProduct.DataSource = productList;
+			RepeaterProduct.DataBind();
+
+			if (productList.IsNextPageAvailable)
+			{
+				LinkbuttonNext.Visible = true;
+			}
+			else
+			{
+				LinkbuttonNext.Visible = false;
+			}
+			if (productList.IsPreviousPageAvailable)
+			{
+				LinkbuttonPrev.Visible = true;
+			}
+			else
+			{
+				LinkbuttonPrev.Visible = false;
+			}
+
+		}
+
+		protected void RepeaterProduct_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
+		{
+			_catalogController.ShowItemsByProduct(e.CommandArgument.ToString());
+		}
+
+		protected void LinkbuttonPrev_Command(object source, System.Web.UI.WebControls.CommandEventArgs e)
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			productList.PreviousPage();
+			DataBind();	
+		}
+
+		protected void LinkbuttonNext_Command(object source, System.Web.UI.WebControls.CommandEventArgs e)
+		{
+			IPaginatedList productList = this.NPetshopState.CurrentList; 
+			productList.NextPage();
+			DataBind();	
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new System.EventHandler(this.Page_Load);
+
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Catalog/SearchProduct.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,51 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Error.ascx.cs" Inherits="NPetshop.Web.UserControls.Error" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<table width='100%' align='center' style='FONT-SIZE: 10pt; FONT-FAMILY: Trebuchet MS, Arial'>
+	<tr align='center'>
+		<td align="right">
+			<img src='@images/IconCritical.gif' align='left'>
+		</td>
+		<td align="center">
+			<b>Error on page</b>
+		</td>
+	</tr>
+	<tr>
+		<td align='right' width="200">
+			<b>Exception :</b>
+		</td>
+		<td align='left'>
+			<asp:Label id="LabelException" runat="server"></asp:Label>
+		</td>
+	</tr>
+	<tr>
+		<td align='right'>
+			<b>Error message :</b>
+		</td>
+		<td align='left'>
+			<asp:Label id="LabelErrorMessage" runat="server">Label</asp:Label>
+		</td>
+	</tr>
+	<tr>
+		<td align='right'>
+			<b>Inner Error message :</b>
+		</td>
+		<td align='left'>
+			<asp:Label id="LabelInnerErrorMessage" runat="server">Label</asp:Label>
+		</td>
+	</tr>
+	<tr>
+		<td align='right'>
+			<b>Source :</b>
+		</td>
+		<td align='left'>
+			<asp:Label id="LabelSourceError" runat="server">Label</asp:Label>
+		</td>
+	</tr>
+	<tr>
+		<td align='right'>
+			<b>View :</b>
+		</td>
+		<td align='left'>
+			<asp:Label id="LabelViewOnError" runat="server">Label</asp:Label>
+		</td>
+	</tr>
+</table>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,55 @@
+namespace NPetshop.Web.UserControls
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+	using NPetshop.Presentation.Core;
+	using NPetshop.Presentation.UserActions;
+
+	/// <summary>
+	/// Description résumée de Error.
+	/// </summary>
+	public class Error : NPetshop.Presentation.UserControl
+	{
+		protected System.Web.UI.WebControls.Label LabelException;
+		protected System.Web.UI.WebControls.Label LabelErrorMessage;
+		protected System.Web.UI.WebControls.Label LabelSourceError;
+		protected System.Web.UI.WebControls.Label LabelInnerErrorMessage;
+		protected System.Web.UI.WebControls.Label LabelViewOnError;
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{		
+			LabelException.Text = HttpContext.Current.Items["stackTrace"].ToString();
+			LabelErrorMessage.Text = HttpContext.Current.Items["messageError"].ToString();
+			LabelSourceError.Text = HttpContext.Current.Items["sourceError"].ToString();
+			LabelViewOnError.Text = HttpContext.Current.Items["errorView"].ToString();
+			LabelInnerErrorMessage.Text = HttpContext.Current.Items["innerMessageError"].ToString();
+		
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new System.EventHandler(this.Page_Load);
+
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Error.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 1.3
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">1.3</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1">this is my long string</data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        [base64 mime encoded serialized .NET Framework object]
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        [base64 mime encoded string representing a byte array form of the .NET Framework object]
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used forserialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>1.3</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </data>
+  <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>False</value>
+  </data>
+  <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>Private</value>
+  </data>
+</root>
\ No newline at end of file

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,2 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Footer.ascx.cs" Inherits="NPetshop.Web.UserControls.Footer" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<center>© 2004-2005 Gilles Bayon. All rights reserved.</center>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,41 @@
+namespace NPetshop.Web.UserControls
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+	/// <summary>
+	/// Description résumée de Footer.
+	/// </summary>
+	public class Footer : System.Web.UI.UserControl
+	{
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{
+			// Placer ici le code utilisateur pour initialiser la page
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new System.EventHandler(this.Page_Load);
+		}
+		#endregion
+	}
+}

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.resx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.resx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.resx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Footer.ascx.resx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<root>
+	<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+		<xsd:element name="root" msdata:IsDataSet="true">
+			<xsd:complexType>
+				<xsd:choice maxOccurs="unbounded">
+					<xsd:element name="data">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+								<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" />
+							<xsd:attribute name="type" type="xsd:string" />
+							<xsd:attribute name="mimetype" type="xsd:string" />
+						</xsd:complexType>
+					</xsd:element>
+					<xsd:element name="resheader">
+						<xsd:complexType>
+							<xsd:sequence>
+								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+							</xsd:sequence>
+							<xsd:attribute name="name" type="xsd:string" use="required" />
+						</xsd:complexType>
+					</xsd:element>
+				</xsd:choice>
+			</xsd:complexType>
+		</xsd:element>
+	</xsd:schema>
+	<resheader name="ResMimeType">
+		<value>text/microsoft-resx</value>
+	</resheader>
+	<resheader name="Version">
+		<value>1.0.0.0</value>
+	</resheader>
+	<resheader name="Reader">
+		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+	<resheader name="Writer">
+		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+	</resheader>
+</root>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx Sun Jun 19 07:45:17 2005
@@ -0,0 +1,9 @@
+<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Header.ascx.cs" Inherits="NPetshop.Web.UserControls.Header" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
+<table cellspacing="0" cellpadding="0" width="100%" height="49" background="@Images/top_stripe1.gif"
+	border="0">
+	<tr>
+		<td valign="top"><img src="@Images/space.gif" width="1" height="13" id="space0"><br>
+			<img src="@Images/space.gif" width="14" height="1"><a href="views/default.aspx">
+			<img alt="" src="@Images/title.gif" border="0" id="title"></a></td>
+	</tr>
+</table>

Added: ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx.cs?rev=191346&view=auto
==============================================================================
--- ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx.cs (added)
+++ ibatis/trunk/cs/npetshop2/NPetshop.Web/UserControls/Header.ascx.cs Sun Jun 19 07:45:17 2005
@@ -0,0 +1,46 @@
+namespace NPetshop.Web.UserControls
+{
+	using System;
+	using System.Data;
+	using System.Drawing;
+	using System.Web;
+	using System.Web.UI.WebControls;
+	using System.Web.UI.HtmlControls;
+
+	/// <summary>
+	/// Description résumée de Header.
+	/// </summary>
+	public class Header : System.Web.UI.UserControl
+	{
+		protected System.Web.UI.HtmlControls.HtmlImage space0;
+		protected System.Web.UI.HtmlControls.HtmlImage space1;
+		protected System.Web.UI.WebControls.Image Image1;
+		protected System.Web.UI.HtmlControls.HtmlImage title;
+
+		private void Page_Load(object sender, System.EventArgs e)
+		{
+			// Placer ici le code utilisateur pour initialiser la page
+		}
+
+		#region Code généré par le Concepteur Web Form
+		override protected void OnInit(EventArgs e)
+		{
+			//
+			// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
+			//
+			InitializeComponent();
+			base.OnInit(e);
+		}
+		
+		/// <summary>
+		///		Méthode requise pour la prise en charge du concepteur - ne modifiez pas
+		///		le contenu de cette méthode avec l'éditeur de code.
+		/// </summary>
+		private void InitializeComponent()
+		{
+			this.Load += new System.EventHandler(this.Page_Load);
+
+		}
+		#endregion
+	}
+}