summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina.Web.UI
diff options
context:
space:
mode:
Diffstat (limited to 'slips/src/app/Marina.Web.UI')
-rw-r--r--slips/src/app/Marina.Web.UI/AvailableSlips.aspx37
-rw-r--r--slips/src/app/Marina.Web.UI/AvailableSlips.aspx.cs21
-rw-r--r--slips/src/app/Marina.Web.UI/AvailableSlips.aspx.designer.cs16
-rw-r--r--slips/src/app/Marina.Web.UI/ContactUs.aspx23
-rw-r--r--slips/src/app/Marina.Web.UI/ContactUs.aspx.cs8
-rw-r--r--slips/src/app/Marina.Web.UI/ContactUs.aspx.designer.cs16
-rw-r--r--slips/src/app/Marina.Web.UI/CurrentLeases.aspx28
-rw-r--r--slips/src/app/Marina.Web.UI/CurrentLeases.aspx.cs19
-rw-r--r--slips/src/app/Marina.Web.UI/CurrentLeases.aspx.designer.cs25
-rw-r--r--slips/src/app/Marina.Web.UI/Default.aspx19
-rw-r--r--slips/src/app/Marina.Web.UI/Default.aspx.cs8
-rw-r--r--slips/src/app/Marina.Web.UI/Default.aspx.designer.cs16
-rw-r--r--slips/src/app/Marina.Web.UI/DockView.aspx60
-rw-r--r--slips/src/app/Marina.Web.UI/DockView.aspx.cs26
-rw-r--r--slips/src/app/Marina.Web.UI/DockView.aspx.designer.cs25
-rw-r--r--slips/src/app/Marina.Web.UI/Global.asax1
-rw-r--r--slips/src/app/Marina.Web.UI/LeaseSlip.aspx46
-rw-r--r--slips/src/app/Marina.Web.UI/LeaseSlip.aspx.cs26
-rw-r--r--slips/src/app/Marina.Web.UI/LeaseSlip.aspx.designer.cs25
-rw-r--r--slips/src/app/Marina.Web.UI/Login.aspx36
-rw-r--r--slips/src/app/Marina.Web.UI/Login.aspx.cs22
-rw-r--r--slips/src/app/Marina.Web.UI/Login.aspx.designer.cs34
-rw-r--r--slips/src/app/Marina.Web.UI/Marina.Web.UI.csproj215
-rw-r--r--slips/src/app/Marina.Web.UI/RegisterBoat.aspx48
-rw-r--r--slips/src/app/Marina.Web.UI/RegisterBoat.aspx.cs20
-rw-r--r--slips/src/app/Marina.Web.UI/RegisterBoat.aspx.designer.cs34
-rw-r--r--slips/src/app/Marina.Web.UI/Registration.aspx48
-rw-r--r--slips/src/app/Marina.Web.UI/Registration.aspx.cs44
-rw-r--r--slips/src/app/Marina.Web.UI/Registration.aspx.designer.cs34
-rw-r--r--slips/src/app/Marina.Web.UI/Site.Master89
-rw-r--r--slips/src/app/Marina.Web.UI/Site.Master.cs8
-rw-r--r--slips/src/app/Marina.Web.UI/Site.Master.designer.cs43
-rw-r--r--slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx52
-rw-r--r--slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.cs27
-rw-r--r--slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.designer.cs34
-rw-r--r--slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx34
-rw-r--r--slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.cs19
-rw-r--r--slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.designer.cs25
-rw-r--r--slips/src/app/Marina.Web.UI/Web.config95
-rw-r--r--slips/src/app/Marina.Web.UI/WebServicesAPI.aspx15
-rw-r--r--slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.cs23
-rw-r--r--slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.designer.cs16
-rw-r--r--slips/src/app/Marina.Web.UI/images/back.pngbin0 -> 224 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/graphic.jpgbin0 -> 2002 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/link.pngbin0 -> 186 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/logo.jpgbin0 -> 16985 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/menu.pngbin0 -> 165 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/menu_hover.pngbin0 -> 166 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/images/sbi_header.pngbin0 -> 201 bytes
-rw-r--r--slips/src/app/Marina.Web.UI/style/colour.css85
-rw-r--r--slips/src/app/Marina.Web.UI/style/style.css274
-rw-r--r--slips/src/app/Marina.Web.UI/windsor.config.xml116
52 files changed, 1935 insertions, 0 deletions
diff --git a/slips/src/app/Marina.Web.UI/AvailableSlips.aspx b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx
new file mode 100644
index 0000000..b89697f
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx
@@ -0,0 +1,37 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="AvailableSlips.aspx.cs" Inherits="Marina.Web.UI.AvailableSlips" Title="Untitled Page" %>
+<%@ Import namespace="Marina.Web.Views"%>
+
+<%@ Import namespace="Marina.Presentation"%>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+<div>
+<h1>Available Slips</h1>
+<table>
+ <thead>
+ <tr>
+ <td>Location Name</td>
+ <td>Dock Name</td>
+ <td>Slip Width</td>
+ <td>Slip Length</td>
+ </tr>
+ </thead>
+ <tbody>
+ <% foreach ( SlipDisplayDTO item in ViewLuggage.ClaimFor(ViewLuggageTickets.AvailableSlips) ) {%>
+ <tr>
+ <td><%= item.LocationName %></td>
+ <td>
+ <a href='<%= WebViews.DockView.Name( ) %>?<%= PayloadKeys.DockId %>=<%= item.DockId %>'>
+ <%= item.DockName %>
+ </a>
+ </td>
+ <td><%= item.Width %></td>
+ <td><%= item.Length %></td>
+ </tr>
+ <% } %>
+ </tbody>
+</table>
+</div>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.cs b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.cs
new file mode 100644
index 0000000..0166217
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+using Marina.Web.Views;
+
+namespace Marina.Web.UI {
+ public partial class AvailableSlips : Page, IAvailableSlipsView {
+ protected override void OnInit( EventArgs e ) {
+ base.OnInit( e );
+
+ new AvailableSlipsPresenter( this ).Initialize( );
+ }
+
+ public void Display( IEnumerable< SlipDisplayDTO > availableSlips ) {
+ ViewLuggage.TransporterFor( ViewLuggageTickets.AvailableSlips ).Add( availableSlips );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.designer.cs b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.designer.cs
new file mode 100644
index 0000000..2710f03
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/AvailableSlips.aspx.designer.cs
@@ -0,0 +1,16 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class AvailableSlips {
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/ContactUs.aspx b/slips/src/app/Marina.Web.UI/ContactUs.aspx
new file mode 100644
index 0000000..84028f2
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ContactUs.aspx
@@ -0,0 +1,23 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ContactUs.aspx.cs" Inherits="Marina.Web.UI.ContactUs" Title="Untitled Page" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Contact Info</h1>
+ <p>
+ Inland Lake Marina<br />
+ Box 123<br />
+ Inland Lake, Arizona<br />
+ 86038
+ </p>
+ <p>
+ (office ph) 928-450-2234<br />
+ (leasing ph) 928-450-2235<br />
+ (fax) 928-450-2236<br />
+ </p>
+ <p>
+ Manager: Glenn Cooke<br />
+ Slip Manager: Kimberley Carson<br />
+ Contact Email: <a href="mailto:info@inlandmarina.com">info@inlandmarina.com</a>
+ </p>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/ContactUs.aspx.cs b/slips/src/app/Marina.Web.UI/ContactUs.aspx.cs
new file mode 100644
index 0000000..e59693c
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ContactUs.aspx.cs
@@ -0,0 +1,8 @@
+using System;
+using System.Web.UI;
+
+namespace Marina.Web.UI {
+ public partial class ContactUs : Page {
+ protected void Page_Load( object sender, EventArgs e ) {}
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/ContactUs.aspx.designer.cs b/slips/src/app/Marina.Web.UI/ContactUs.aspx.designer.cs
new file mode 100644
index 0000000..77f29cc
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ContactUs.aspx.designer.cs
@@ -0,0 +1,16 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class ContactUs {
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/CurrentLeases.aspx b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx
new file mode 100644
index 0000000..0fb1bc5
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx
@@ -0,0 +1,28 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="CurrentLeases.aspx.cs" Inherits="Marina.Web.UI.CurrentLeases" Title="Untitled Page" %>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Current Leases</h1>
+ <asp:Repeater ID="uxLeasesRepeater" runat="server">
+ <HeaderTemplate>
+ <table>
+ <tr>
+ <td>Slip ID</td>
+ <td>Start Date:</td>
+ <td>Expiry Date:</td>
+ </tr>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <tr>
+ <td><%# Transform.From( Container.DataItem).To<DisplayLeaseDTO>( ).SlipID %></td>
+ <td><%# Transform.From( Container.DataItem).To<DisplayLeaseDTO>( ).StartDate %></td>
+ <td><%# Transform.From( Container.DataItem).To<DisplayLeaseDTO>( ).ExpiryDate %></td>
+ </tr>
+ </ItemTemplate>
+ <FooterTemplate>
+ </table>
+ </FooterTemplate>
+ </asp:Repeater>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.cs b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.cs
new file mode 100644
index 0000000..47b2951
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class CurrentLeases : Page, ICurrentLeasesView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ new CurrentLeasesPresenter( this ).Initialize( );
+ }
+
+ public void Display( IEnumerable< DisplayLeaseDTO > leases ) {
+ uxLeasesRepeater.DataSource = leases;
+ uxLeasesRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.designer.cs b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.designer.cs
new file mode 100644
index 0000000..68acd07
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/CurrentLeases.aspx.designer.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class CurrentLeases {
+
+ /// <summary>
+ /// uxLeasesRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxLeasesRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Default.aspx b/slips/src/app/Marina.Web.UI/Default.aspx
new file mode 100644
index 0000000..dd7f233
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Default.aspx
@@ -0,0 +1,19 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Marina.Web.UI.Default" Title="Untitled Page" %>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Welcome</h1>
+ <p>
+ Welcome to Inland Marina located on the south shore Inland Lake, just a small
+ commute from major centres in the south west.
+ </p>
+ <p>
+ Inland Marina was established in the 1967 shortly after Inland Lake was created
+ as a result of the South West damn. From it's humble beginnings, it has grown to
+ be the largest marina on Inland Lake. Due to the warm climate that extends year
+ round, Inland Lake has become a popular tourist destination in the South West.
+ Boat owners from California, Arizona, Nevada, and Utah are attracted to the
+ area. Inland Marina has 150 slips ranging in size from 16 to 28 feet in length.
+ Dock services include electrical and fresh water.
+ </p>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/Default.aspx.cs b/slips/src/app/Marina.Web.UI/Default.aspx.cs
new file mode 100644
index 0000000..9a6cecc
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Default.aspx.cs
@@ -0,0 +1,8 @@
+using System;
+using System.Web.UI;
+
+namespace Marina.Web.UI {
+ public partial class Default : Page {
+ protected void Page_Load( object sender, EventArgs e ) {}
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/Default.aspx.designer.cs b/slips/src/app/Marina.Web.UI/Default.aspx.designer.cs
new file mode 100644
index 0000000..b6d29bc
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Default.aspx.designer.cs
@@ -0,0 +1,16 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class Default {
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/DockView.aspx b/slips/src/app/Marina.Web.UI/DockView.aspx
new file mode 100644
index 0000000..10d06f7
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/DockView.aspx
@@ -0,0 +1,60 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="DockView.aspx.cs" Inherits="Marina.Web.UI.DockView" Title="Untitled Page" %>
+<%@ Import namespace="System.ComponentModel"%>
+<%@ Import namespace="Marina.Web.Commands"%>
+<%@ Import namespace="Marina.Web.Views"%>
+
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<%@ Import namespace="Marina.Presentation"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+<div>
+ <h1>Dock: <%= DTO.Name %> </h1>
+ <table>
+ <tr>
+ <td>Location</td>
+ <td><%= DTO.LocationName %></td>
+ </tr>
+ <tr>
+ <td>Water Service</td>
+ <td><%= DTO.WaterService %></td>
+ </tr>
+ <tr>
+ <td>Electrical Service</td>
+ <td><%= DTO.ElectricalService %></td>
+ </tr>
+ </table>
+</div>
+<div>
+ <h1>Available Slips</h1>
+ <asp:Repeater ID="uxSlipsRepeater" runat="server">
+ <HeaderTemplate>
+ <table>
+ <thead>
+ <tr>
+ <td>Dock Name</td>
+ <td>Slip Width</td>
+ <td>Slip Length</td>
+ <td></td>
+ </tr>
+ </thead>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <tr>
+ <td><%# Transform.From(Container.DataItem).To<SlipDisplayDTO>().DockName %></td>
+ <td><%# Transform.From(Container.DataItem).To<SlipDisplayDTO>().Width %></td>
+ <td><%# Transform.From(Container.DataItem).To<SlipDisplayDTO>().Length %></td>
+ <td><a href='<%= WebViews.LeaseSlip.Name() %>?<%=PayloadKeys.SlipId %>=<%# Transform.From( Container.DataItem ).To<SlipDisplayDTO>( ).SlipId %>'>Lease This Slip!</a></td>
+ </tr>
+ </ItemTemplate>
+ <FooterTemplate>
+ </table>
+ </FooterTemplate>
+ </asp:Repeater>
+</div>
+<div style="text-align:center;">
+ <a href='<%= WebViews.AvailableSlips.Name( ) %>'>View All Available Slips</a>
+</div>
+
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/DockView.aspx.cs b/slips/src/app/Marina.Web.UI/DockView.aspx.cs
new file mode 100644
index 0000000..722d2c5
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/DockView.aspx.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class DockView : Page, IDockView {
+ protected DockDisplayDTO DTO;
+
+ protected override void OnInit( EventArgs e ) {
+ base.OnInit( e );
+ new DockPresenter( this ).Initialize( );
+ }
+
+ public void Display( DockDisplayDTO dto ) {
+ DTO = dto;
+ }
+
+ public void Display( IEnumerable< SlipDisplayDTO > availableSlips ) {
+ uxSlipsRepeater.DataSource = availableSlips;
+ uxSlipsRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/DockView.aspx.designer.cs b/slips/src/app/Marina.Web.UI/DockView.aspx.designer.cs
new file mode 100644
index 0000000..a4f5686
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/DockView.aspx.designer.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class DockView {
+
+ /// <summary>
+ /// uxSlipsRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxSlipsRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Global.asax b/slips/src/app/Marina.Web.UI/Global.asax
new file mode 100644
index 0000000..7b78699
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Global.asax
@@ -0,0 +1 @@
+<%@ Application Language="C#" Inherits="Marina.Web.GlobalApplication"%>
diff --git a/slips/src/app/Marina.Web.UI/LeaseSlip.aspx b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx
new file mode 100644
index 0000000..260aa10
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx
@@ -0,0 +1,46 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="LeaseSlip.aspx.cs" Inherits="Marina.Web.UI.LeaseSlip" Title="Untitled Page" %>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+
+ <h1>Would you like to lease slip: <%= Slip.SlipId %></h1>
+
+ <div>
+ <table>
+ <thead>
+ <tr>
+ <td>Dock Name</td>
+ <td>Location Name</td>
+ <td>Length (in feet)</td>
+ <td>Width (in feet)</td>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><%= Slip.DockName %></td>
+ <td><%= Slip.LocationName %></td>
+ <td><%= Slip.Length %></td>
+ <td><%= Slip.Width %></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div>
+ Select Lease Duration:
+ <select name="uxLeaseDuration">
+ <option value="Daily">Daily</option>
+ <option value="Weekly">Weekly</option>
+ <option value="Monthly">Monthly</option>
+ <option value="Yearly">Yearly</option>
+ </select>
+ </div>
+
+ <asp:Button ID="uxSubmitButton" runat="server" Text="Lease Now!" />
+
+ <p>
+ <%= ResponseMessage %>
+ </p>
+
+</asp:Content>
+
diff --git a/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.cs b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.cs
new file mode 100644
index 0000000..c5ead9b
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class LeaseSlip : Page, ILeaseSlipView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ ILeaseSlipPresenter presenter = new LeaseSlipPresenter( this );
+ presenter.Initialize( );
+ uxSubmitButton.Click += delegate { presenter.SubmitLeaseRequest( ); };
+ }
+
+ public SlipDisplayDTO Slip;
+ public string ResponseMessage;
+
+ public void Display( SlipDisplayDTO slip ) {
+ Slip = slip;
+ }
+
+ public void Display( DisplayResponseLineDTO response ) {
+ ResponseMessage = response.Message;
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.designer.cs b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.designer.cs
new file mode 100644
index 0000000..0f28679
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/LeaseSlip.aspx.designer.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class LeaseSlip {
+
+ /// <summary>
+ /// uxSubmitButton control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Button uxSubmitButton;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Login.aspx b/slips/src/app/Marina.Web.UI/Login.aspx
new file mode 100644
index 0000000..33cd3b9
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Login.aspx
@@ -0,0 +1,36 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Marina.Web.UI.Login" Title="Untitled Page" %>
+<%@ Import namespace="Marina.Web.Views"%>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <table>
+ <tr>
+ <td>user name:</td>
+ <td><input type="text" name="uxUserNameTextBox" /></td>
+ </tr>
+ <tr>
+ <td>password:</td>
+ <td><input type="password" name="uxPasswordTextBox" /></td>
+ </tr>
+ </table>
+ <asp:Button ID="uxLoginButton" runat="server" Text="login" />
+ <p>
+ <a href='<%= WebViews.Registration %>'>Need to register?</a>
+ </p>
+
+ <asp:Repeater ID="uxResponseMessagesRepeater" runat="server">
+ <HeaderTemplate>
+ <ul>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <li><%# Transform.From(Container.DataItem).To<DisplayResponseLineDTO>().Message %></li>
+ </ItemTemplate>
+ <FooterTemplate>
+ </ul>
+ </FooterTemplate>
+ </asp:Repeater>
+
+</asp:Content>
+
diff --git a/slips/src/app/Marina.Web.UI/Login.aspx.cs b/slips/src/app/Marina.Web.UI/Login.aspx.cs
new file mode 100644
index 0000000..2ddd0e2
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Login.aspx.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class Login : Page, ILoginView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ ILoginPresenter presenter = new LoginPresenter( this );
+ uxLoginButton.Click += delegate { presenter.Login( ); };
+ }
+
+ public void Display( DisplayResponseLineDTO responseMessage ) {
+ IList< DisplayResponseLineDTO > messages = new List< DisplayResponseLineDTO >( );
+ messages.Add( responseMessage );
+ uxResponseMessagesRepeater.DataSource = messages;
+ uxResponseMessagesRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/Login.aspx.designer.cs b/slips/src/app/Marina.Web.UI/Login.aspx.designer.cs
new file mode 100644
index 0000000..09d1252
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Login.aspx.designer.cs
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class Login {
+
+ /// <summary>
+ /// uxLoginButton control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Button uxLoginButton;
+
+ /// <summary>
+ /// uxResponseMessagesRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxResponseMessagesRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Marina.Web.UI.csproj b/slips/src/app/Marina.Web.UI/Marina.Web.UI.csproj
new file mode 100644
index 0000000..cc8e74f
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Marina.Web.UI.csproj
@@ -0,0 +1,215 @@
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.21022</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{29824849-3D66-4ACF-8699-79BB60C30BD7}</ProjectGuid>
+ <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Marina.Web.UI</RootNamespace>
+ <AssemblyName>Marina.Web.UI</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Web.Extensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Web.Services" />
+ <Reference Include="System.EnterpriseServices" />
+ <Reference Include="System.Web.Mobile" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="Web.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="AvailableSlips.aspx.cs">
+ <DependentUpon>AvailableSlips.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="AvailableSlips.aspx.designer.cs">
+ <DependentUpon>AvailableSlips.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="ContactUs.aspx.cs">
+ <DependentUpon>ContactUs.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="ContactUs.aspx.designer.cs">
+ <DependentUpon>ContactUs.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="CurrentLeases.aspx.cs">
+ <DependentUpon>CurrentLeases.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="CurrentLeases.aspx.designer.cs">
+ <DependentUpon>CurrentLeases.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="Default.aspx.cs">
+ <DependentUpon>Default.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="Default.aspx.designer.cs">
+ <DependentUpon>Default.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="DockView.aspx.cs">
+ <DependentUpon>DockView.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="DockView.aspx.designer.cs">
+ <DependentUpon>DockView.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="LeaseSlip.aspx.cs">
+ <DependentUpon>LeaseSlip.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="LeaseSlip.aspx.designer.cs">
+ <DependentUpon>LeaseSlip.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="Login.aspx.cs">
+ <DependentUpon>Login.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="Login.aspx.designer.cs">
+ <DependentUpon>Login.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="RegisterBoat.aspx.cs">
+ <DependentUpon>RegisterBoat.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="RegisterBoat.aspx.designer.cs">
+ <DependentUpon>RegisterBoat.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="Registration.aspx.cs">
+ <DependentUpon>Registration.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="Registration.aspx.designer.cs">
+ <DependentUpon>Registration.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="Site.Master.cs">
+ <DependentUpon>Site.Master</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="Site.Master.designer.cs">
+ <DependentUpon>Site.Master</DependentUpon>
+ </Compile>
+ <Compile Include="UpdateCustomerRegistration.aspx.cs">
+ <DependentUpon>UpdateCustomerRegistration.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="UpdateCustomerRegistration.aspx.designer.cs">
+ <DependentUpon>UpdateCustomerRegistration.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="ViewRegisteredBoats.aspx.cs">
+ <DependentUpon>ViewRegisteredBoats.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="ViewRegisteredBoats.aspx.designer.cs">
+ <DependentUpon>ViewRegisteredBoats.aspx</DependentUpon>
+ </Compile>
+ <Compile Include="WebServicesAPI.aspx.cs">
+ <DependentUpon>WebServicesAPI.aspx</DependentUpon>
+ <SubType>ASPXCodeBehind</SubType>
+ </Compile>
+ <Compile Include="WebServicesAPI.aspx.designer.cs">
+ <DependentUpon>WebServicesAPI.aspx</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="AvailableSlips.aspx" />
+ <Content Include="ContactUs.aspx" />
+ <Content Include="Default.aspx" />
+ <Content Include="DockView.aspx" />
+ <Content Include="Global.asax" />
+ <Content Include="Login.aspx" />
+ <Content Include="RegisterBoat.aspx" />
+ <Content Include="Registration.aspx" />
+ <Content Include="Site.Master" />
+ <Content Include="images\back.png" />
+ <Content Include="style\colour.css" />
+ <Content Include="images\graphic.jpg" />
+ <Content Include="images\link.png" />
+ <Content Include="images\logo.jpg" />
+ <Content Include="images\menu.png" />
+ <Content Include="images\menu_hover.png" />
+ <Content Include="images\sbi_header.png" />
+ <Content Include="style\style.css" />
+ <Content Include="UpdateCustomerRegistration.aspx" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Marina\Marina.csproj">
+ <Project>{F9AF658A-2A26-49DE-A964-7A846A8DCC2A}</Project>
+ <Name>Marina</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="CurrentLeases.aspx" />
+ <Content Include="LeaseSlip.aspx" />
+ <Content Include="ViewRegisteredBoats.aspx" />
+ <Content Include="WebServicesAPI.aspx" />
+ <Content Include="windsor.config.xml">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Properties\" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+ <ProjectExtensions>
+ <VisualStudio>
+ <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+ <WebProjectProperties>
+ <UseIIS>False</UseIIS>
+ <AutoAssignPort>True</AutoAssignPort>
+ <DevelopmentServerPort>1400</DevelopmentServerPort>
+ <DevelopmentServerVPath>/</DevelopmentServerVPath>
+ <IISUrl>
+ </IISUrl>
+ <NTLMAuthentication>False</NTLMAuthentication>
+ <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+ </WebProjectProperties>
+ </FlavorProperties>
+ </VisualStudio>
+ </ProjectExtensions>
+</Project> \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/RegisterBoat.aspx b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx
new file mode 100644
index 0000000..9047bef
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx
@@ -0,0 +1,48 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="RegisterBoat.aspx.cs" Inherits="Marina.Web.UI.RegisterBoat" Title="Untitled Page" %>
+<%@ Import namespace="Marina.Web.Views"%>
+
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Register Boat</h1>
+
+ <asp:Repeater ID="uxResponseRepeater" runat="server">
+ <HeaderTemplate>
+ <ul>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <li><%# Transform.From(Container.DataItem).To<DisplayResponseLineDTO>().Message %></li>
+ </ItemTemplate>
+ <FooterTemplate>
+ </ul>
+ </FooterTemplate>
+ </asp:Repeater>
+
+ <table>
+ <tr>
+ <td>registration number:</td>
+ <td><input name="uxRegistrationNumberTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>manufacturer:</td>
+ <td><input name="uxManufacturerTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>model year:</td>
+ <td><input name="uxModelYearTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>length:</td>
+ <td><input name="uxLengthTextBox" type="text" /></td>
+ </tr>
+ </table>
+ <asp:Button ID="uxRegisterBoatButton" runat="server" Text="Register" />
+
+ <div>
+ <a href="<%= WebViews.ViewRegisteredBoats.Name( ) %>" >View All Registered Boats</a>
+ </div>
+
+</asp:Content>
+
diff --git a/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.cs b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.cs
new file mode 100644
index 0000000..5fa7751
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class RegisterBoat : Page, IRegisterBoatView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ IRegisterBoatPresenter presenter = new RegisterBoatPresenter( this );
+ uxRegisterBoatButton.Click += delegate { presenter.SubmitRegistration( ); };
+ }
+
+ public void Display( IEnumerable< DisplayResponseLineDTO > response ) {
+ uxResponseRepeater.DataSource = response;
+ uxResponseRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.designer.cs b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.designer.cs
new file mode 100644
index 0000000..a91ce97
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/RegisterBoat.aspx.designer.cs
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class RegisterBoat {
+
+ /// <summary>
+ /// uxResponseRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxResponseRepeater;
+
+ /// <summary>
+ /// uxRegisterBoatButton control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Button uxRegisterBoatButton;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Registration.aspx b/slips/src/app/Marina.Web.UI/Registration.aspx
new file mode 100644
index 0000000..138ebae
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Registration.aspx
@@ -0,0 +1,48 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Registration.aspx.cs" Inherits="Marina.Web.UI.Registration" Title="Untitled Page" EnableViewState="false" %>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Registration</h1>
+
+ <table>
+ <tr>
+ <td>username:</td>
+ <td><input name="uxUserNameTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>password:</td>
+ <td><input name="uxPasswordTextBox" type="password" /></td>
+ </tr>
+ <tr>
+ <td>first name:</td>
+ <td><input name="uxFirstNameTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>last name:</td>
+ <td><input name="uxLastNameTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>phone:</td>
+ <td><input name="uxPhoneNumberTextBox" type="text" /></td>
+ </tr>
+ <tr>
+ <td>city:</td>
+ <td><input name="uxCityTextBox" type="text" /></td>
+ </tr>
+ </table>
+ <asp:Button ID="uxRegisterButton" runat="server" Text="Register" />
+
+ <asp:Repeater ID="uxResponseMessagesRepeater" runat="server">
+ <HeaderTemplate>
+ <ul>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <li><%# Transform.From(Container.DataItem).To<DisplayResponseLineDTO>().Message %></li>
+ </ItemTemplate>
+ <FooterTemplate>
+ </ul>
+ </FooterTemplate>
+ </asp:Repeater>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/Registration.aspx.cs b/slips/src/app/Marina.Web.UI/Registration.aspx.cs
new file mode 100644
index 0000000..2418421
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Registration.aspx.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class Registration : Page, ICustomerRegistrationView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ ICustomerRegistrationPresenter presenter = new CustomerRegistrationPresenter( this );
+ uxRegisterButton.Click += delegate { presenter.RegisterCustomer( ); };
+ }
+
+ public string UserName() {
+ return Request.Params[ "uxUserNameTextBox" ];
+ }
+
+ public string Password() {
+ return Request.Params[ "uxPasswordTextBox" ];
+ }
+
+ public string FirstName() {
+ return Request.Params[ "uxFirstNameTextBox" ];
+ }
+
+ public string LastName() {
+ return Request.Params[ "uxLastNameTextBox" ];
+ }
+
+ public string PhoneNumber() {
+ return Request.Params[ "uxPhoneNumberTextBox" ];
+ }
+
+ public string City() {
+ return Request.Params[ "uxCityTextBox" ];
+ }
+
+ public void Display( IEnumerable< DisplayResponseLineDTO > response ) {
+ uxResponseMessagesRepeater.DataSource = response;
+ uxResponseMessagesRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/Registration.aspx.designer.cs b/slips/src/app/Marina.Web.UI/Registration.aspx.designer.cs
new file mode 100644
index 0000000..52ebc4e
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Registration.aspx.designer.cs
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class Registration {
+
+ /// <summary>
+ /// uxRegisterButton control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Button uxRegisterButton;
+
+ /// <summary>
+ /// uxResponseMessagesRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxResponseMessagesRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Site.Master b/slips/src/app/Marina.Web.UI/Site.Master
new file mode 100644
index 0000000..346b700
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Site.Master
@@ -0,0 +1,89 @@
+<%@ Import namespace="Marina.Web.Views"%>
+<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Marina.Web.UI.Site" EnableViewState="false" %>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+ <title>Inland Marina Ltd</title>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" type="text/css" href="style/style.css" />
+ <link rel="stylesheet" type="text/css" href="style/colour.css" />
+ <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>
+</head>
+<body>
+ <div id="main">
+ <div id="links">
+ <a href="Login.aspx">login</a>
+ </div>
+
+ <div id="logo"><h1>Inland Marina Ltd</h1></div>
+ <div id="content">
+ <div id="menu">
+ <ul>
+ <li><a href="Default.aspx">home</a></li>
+ <li><a href="Registration.aspx">register</a></li>
+ <li><a href="AvailableSlips.aspx">available slips</a></li>
+ <li><a href="ContactUs.aspx">contact us</a></li>
+ </ul>
+ </div>
+
+ <div id="column1">
+ <div class="sidebaritem">
+ <div class="sbihead">
+ <h1>site actions</h1>
+ </div>
+ <div class="sbilinks">
+ <ul>
+ <li><a href="<%= WebViews.RegisterBoat.Name( ) %>">register boat</a></li>
+ <li><a href="<%= WebViews.UpdateCustomerRegistration.Name( ) %>">update registration</a></li>
+ <li><a href="<%= WebViews.CurrentLeases.Name( ) %>">current leases</a></li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="sidebaritem">
+ <div class="sbihead">
+ <h1>additional information</h1>
+ </div>
+ <div class="sbicontent">
+ <p>
+ Inland Marina Ltd, is the largest marina on Inland Lake and has the capacity to house 150 boats
+ with plans to add another dock bringing their total capacity to 200 boats. We are currently concluding
+ negotiations to purchase a large marina facility in San Diego.
+ </p>
+ </div>
+ </div>
+ <div class="sidebaritem">
+ <div class="sbihead">
+ <h1>Web Services API</h1>
+ </div>
+ <div class="sbilinks">
+ <ul>
+ <li><a href="WebServicesAPI.aspx">Web Services API</a></li>
+ </ul>
+ </div>
+ </div>
+
+ </div>
+
+ <div id="column2">
+ <form id="form2" runat="server">
+ <div>
+ <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
+ </asp:ContentPlaceHolder>
+ </div>
+ </form>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ copyright &copy; 2008 <a href="http://mokhan.ca">mo khan</a> |
+ <a href="http://validator.w3.org/check?uri=referer">XHTML 1.1</a> |
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a> |
+ <a href="http://www.dcarter.co.uk">design by dcarter</a>
+ </div>
+
+ </div>
+</body>
+</html>
diff --git a/slips/src/app/Marina.Web.UI/Site.Master.cs b/slips/src/app/Marina.Web.UI/Site.Master.cs
new file mode 100644
index 0000000..a4ab4dd
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Site.Master.cs
@@ -0,0 +1,8 @@
+using System;
+using System.Web.UI;
+
+namespace Marina.Web.UI {
+ public partial class Site : MasterPage {
+ protected void Page_Load( object sender, EventArgs e ) {}
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/Site.Master.designer.cs b/slips/src/app/Marina.Web.UI/Site.Master.designer.cs
new file mode 100644
index 0000000..7bae518
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Site.Master.designer.cs
@@ -0,0 +1,43 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class Site {
+
+ /// <summary>
+ /// ContentPlaceHolder1 control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.ContentPlaceHolder ContentPlaceHolder1;
+
+ /// <summary>
+ /// form2 control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.HtmlControls.HtmlForm form2;
+
+ /// <summary>
+ /// ContentPlaceHolder2 control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.ContentPlaceHolder ContentPlaceHolder2;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx
new file mode 100644
index 0000000..f84ada1
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx
@@ -0,0 +1,52 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="UpdateCustomerRegistration.aspx.cs" Inherits="Marina.Web.UI.UpdateCustomerRegistration" Title="Untitled Page" %>
+<%@ Import namespace="Marina.Web.Views"%>
+<%@ Import namespace="System.ComponentModel"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Web.UI"%>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"></asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+
+ <h1>Update Registration</h1>
+ <table>
+ <tr>
+ <td>username:</td>
+ <td><input name="uxUserNameTextBox" type="text" value="<%= CustomerRegistration.UserName %>" readonly="readonly" /></td>
+ </tr>
+ <tr>
+ <td>password:</td>
+ <td><input name="uxPasswordTextBox" type="password" /></td>
+ </tr>
+ <tr>
+ <td>first name:</td>
+ <td><input name="uxFirstNameTextBox" type="text" value="<%= CustomerRegistration.FirstName %>" /></td>
+ </tr>
+ <tr>
+ <td>last name:</td>
+ <td><input name="uxLastNameTextBox" type="text" value="<%= CustomerRegistration.LastName %>" /></td>
+ </tr>
+ <tr>
+ <td>phone:</td>
+ <td><input name="uxPhoneNumberTextBox" type="text" value="<%= CustomerRegistration.Phone %>" /></td>
+ </tr>
+ <tr>
+ <td>city:</td>
+ <td><input name="uxCityTextBox" type="text" value="<%= CustomerRegistration.City %>" /></td>
+ </tr>
+ </table>
+ <asp:Button ID="uxUpdateButton" runat="server" Text="Update" />
+
+ <asp:Repeater ID="uxResponseMessagesRepeater" runat="server">
+ <HeaderTemplate>
+ <ul>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <li><%# Transform.From( Container.DataItem ).To< DisplayResponseLineDTO >( ).Message %></li>
+ </ItemTemplate>
+ <FooterTemplate>
+ </ul>
+ </FooterTemplate>
+ </asp:Repeater>
+
+</asp:Content> \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.cs b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.cs
new file mode 100644
index 0000000..7e4762f
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class UpdateCustomerRegistration : Page, IUpdateRegistrationView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ UpdateCustomerRegistrationPresenter presenter = new UpdateCustomerRegistrationPresenter( this );
+ presenter.Initialize( );
+ uxUpdateButton.Click += delegate { presenter.UpdateRegistration( ); };
+ }
+
+ public void Display( CustomerRegistrationDisplayDTO customerRegistration ) {
+ CustomerRegistration = customerRegistration;
+ }
+
+ public void Display( IEnumerable< DisplayResponseLineDTO > response ) {
+ uxResponseMessagesRepeater.DataSource = response;
+ uxResponseMessagesRepeater.DataBind( );
+ }
+
+ public CustomerRegistrationDisplayDTO CustomerRegistration;
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.designer.cs b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.designer.cs
new file mode 100644
index 0000000..8bdaa34
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/UpdateCustomerRegistration.aspx.designer.cs
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class UpdateCustomerRegistration {
+
+ /// <summary>
+ /// uxUpdateButton control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Button uxUpdateButton;
+
+ /// <summary>
+ /// uxResponseMessagesRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxResponseMessagesRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx
new file mode 100644
index 0000000..70781f4
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx
@@ -0,0 +1,34 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ViewRegisteredBoats.aspx.cs" Inherits="Marina.Web.UI.ViewRegisteredBoats" Title="Untitled Page" EnableViewState="false" %>
+<%@ Import namespace="Marina.Presentation.DTO"%>
+<%@ Import namespace="Marina.Infrastructure"%>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Your Registered Boats</h1>
+ <asp:Repeater ID="uxBoatsRepeater" runat="server">
+ <HeaderTemplate>
+ <table>
+ <thead>
+ <tr>
+ <td>Registration Number</td>
+ <td>Manufacturer</td>
+ <td>Model Year</td>
+ <td>Length (in feet)</td>
+ </tr>
+ </thead>
+ </HeaderTemplate>
+ <ItemTemplate>
+ <tbody>
+ <tr>
+ <td><%# Transform.From(Container.DataItem).To<BoatRegistrationDTO>().RegistrationNumber %></td>
+ <td><%# Transform.From(Container.DataItem).To<BoatRegistrationDTO>().Manufacturer %></td>
+ <td><%# Transform.From(Container.DataItem).To<BoatRegistrationDTO>().ModelYear %></td>
+ <td><%# Transform.From(Container.DataItem).To<BoatRegistrationDTO>().Length %></td>
+ </tr>
+ </tbody>
+ </ItemTemplate>
+ <FooterTemplate>
+ </table>
+ </FooterTemplate>
+ </asp:Repeater>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.cs b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.cs
new file mode 100644
index 0000000..ab9bd77
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Web.UI;
+using Marina.Presentation.DTO;
+using Marina.Presentation.Presenters;
+using Marina.Presentation.Views;
+
+namespace Marina.Web.UI {
+ public partial class ViewRegisteredBoats : Page, IRegisteredBoatsView {
+ protected void Page_Load( object sender, EventArgs e ) {
+ new ViewRegisteredBoatsPresenter( this ).Initialize( );
+ }
+
+ public void Display( IEnumerable< BoatRegistrationDTO > boats ) {
+ uxBoatsRepeater.DataSource = boats;
+ uxBoatsRepeater.DataBind( );
+ }
+ }
+} \ No newline at end of file
diff --git a/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.designer.cs b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.designer.cs
new file mode 100644
index 0000000..1c19862
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/ViewRegisteredBoats.aspx.designer.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class ViewRegisteredBoats {
+
+ /// <summary>
+ /// uxBoatsRepeater control.
+ /// </summary>
+ /// <remarks>
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ /// </remarks>
+ protected global::System.Web.UI.WebControls.Repeater uxBoatsRepeater;
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/Web.config b/slips/src/app/Marina.Web.UI/Web.config
new file mode 100644
index 0000000..290d934
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/Web.config
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<configuration>
+ <configSections>
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ </sectionGroup>
+ </sectionGroup>
+ </sectionGroup>
+ </configSections>
+ <appSettings>
+ <add key="LogFileName" value="G:\root\development\code\sait\cmpp299\Assignment1\trunk\build\config\log4net.config.xml" />
+ <add key="ActiveConnection" value ="SqlConnection" />
+ </appSettings>
+ <connectionStrings>
+ <add name="SqlConnection"
+ connectionString="data source=(local);Initial Catalog=marina;uid=sa;pwd=P@ssw0rd;"
+ providerName="System.Data.SqlClient"/>
+ </connectionStrings>
+ <system.web>
+ <compilation debug="true">
+ <assemblies>
+ <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ </assemblies>
+ </compilation>
+ <authentication mode="Windows"/>
+ <pages>
+ <controls>
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ </controls>
+ </pages>
+ <httpHandlers>
+ <remove verb="*" path="*.asmx"/>
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
+ <!--<add verb="*" path="*.marina" type="Marina.Web.FrontController, Marina"/>
+ <add verb="*" path="*.aspx" type="Marina.Web.FrontController, Marina"/>-->
+ </httpHandlers>
+ <httpModules>
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add name="AuthenticationHttpModule" type="Marina.Web.AuthenticationHttpModule, Marina" />
+ <add name="UnhandledExceptionsHttpModule" type="Marina.Web.UnhandledExceptionsHttpModule, Marina" />
+ </httpModules>
+ </system.web>
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v3.5"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ </compilers>
+ </system.codedom>
+ <!--
+ The system.webServer section is required for running ASP.NET AJAX under Internet
+ Information Services 7.0. It is not necessary for previous version of IIS.
+ -->
+ <system.webServer>
+ <validation validateIntegratedModeConfiguration="false"/>
+ <modules>
+ <remove name="ScriptModule"/>
+ <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ </modules>
+ <handlers>
+ <remove name="WebServiceHandlerFactory-Integrated"/>
+ <remove name="ScriptHandlerFactory"/>
+ <remove name="ScriptHandlerFactoryAppServices"/>
+ <remove name="ScriptResource"/>
+ <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ </handlers>
+ </system.webServer>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
+ <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
+ </dependentAssembly>
+ </assemblyBinding>
+ </runtime>
+</configuration>
diff --git a/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx
new file mode 100644
index 0000000..ff4e738
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx
@@ -0,0 +1,15 @@
+<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="WebServicesAPI.aspx.cs" Inherits="Marina.Web.UI.WebServicesAPI" Title="Untitled Page" %>
+<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
+ <h1>Our Web Services API</h1>
+ <p>
+ If you're interested in checking out our web services API check out:
+ </p>
+ <ul>
+ <li><a href="services/AuthenticationServices.asmx">Authentication</a></li>
+ <li><a href="services/CatalogServices.asmx">Catalog</a></li>
+ <li><a href="services/LeaseServices.asmx">Leasing</a></li>
+ <li><a href="services/RegistrationServices.asmx">Registration</a></li>
+ </ul>
+</asp:Content>
diff --git a/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.cs b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.cs
new file mode 100644
index 0000000..9ffb517
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Security;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.Web.UI.WebControls.WebParts;
+using System.Web.UI.HtmlControls;
+using System.Xml.Linq;
+
+namespace Marina.Web.UI
+{
+ public partial class WebServicesAPI : System.Web.UI.Page
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.designer.cs b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.designer.cs
new file mode 100644
index 0000000..ffaa12b
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/WebServicesAPI.aspx.designer.cs
@@ -0,0 +1,16 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Marina.Web.UI {
+
+
+ public partial class WebServicesAPI {
+ }
+}
diff --git a/slips/src/app/Marina.Web.UI/images/back.png b/slips/src/app/Marina.Web.UI/images/back.png
new file mode 100644
index 0000000..60faea0
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/back.png
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/graphic.jpg b/slips/src/app/Marina.Web.UI/images/graphic.jpg
new file mode 100644
index 0000000..9d77757
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/graphic.jpg
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/link.png b/slips/src/app/Marina.Web.UI/images/link.png
new file mode 100644
index 0000000..7fb049c
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/link.png
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/logo.jpg b/slips/src/app/Marina.Web.UI/images/logo.jpg
new file mode 100644
index 0000000..01c1bde
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/logo.jpg
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/menu.png b/slips/src/app/Marina.Web.UI/images/menu.png
new file mode 100644
index 0000000..8efcaad
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/menu.png
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/menu_hover.png b/slips/src/app/Marina.Web.UI/images/menu_hover.png
new file mode 100644
index 0000000..556801d
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/menu_hover.png
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/images/sbi_header.png b/slips/src/app/Marina.Web.UI/images/sbi_header.png
new file mode 100644
index 0000000..2f59f1d
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/images/sbi_header.png
Binary files differ
diff --git a/slips/src/app/Marina.Web.UI/style/colour.css b/slips/src/app/Marina.Web.UI/style/colour.css
new file mode 100644
index 0000000..f06194f
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/style/colour.css
@@ -0,0 +1,85 @@
+html{height: 100%;}
+
+body
+{ background: #837560;
+ color: #70695A;
+}
+
+blockquote
+{ background: #FFFFFF;
+ color: #70695A;
+ border-color: #767676;
+}
+
+#main
+{ background: #FFFFFF url(../images/back.png) repeat-y;
+ color: #70695A;
+}
+
+#links, #footer, #menu, #menu li a
+{ background: #FFFFFF url(../images/menu.png);
+ color: #DBD7D1;
+ border-color: #D7D7D7;
+}
+
+#links a, #footer a, #links a:hover, #footer a:hover
+{ background: transparent;
+ color: #DBD7D1;
+}
+
+#logo
+{ background: #FFFFFF url(../images/logo.jpg) no-repeat;
+ color: #70695A;
+}
+
+#logo h1
+{ background: transparent;
+ color: #FFFFFF;
+}
+
+h1, #column2 h1
+{ background: transparent;
+ color: #CE7014;
+ border-color: #CAAE90;
+}
+
+#menu li a:hover, #menu li a#selected, #menu li a#selected:hover
+{ background: #FFFFFF url(../images/menu_hover.png);
+ color: #70695A;
+}
+
+#content, #column2 a, #column2 a:hover
+{ background: transparent;
+ color: #70695A;
+}
+
+.sidebaritem, .sidebaritem a, .sidebaritem a:hover
+{ background: transparent;
+ color: #DBD7D1;
+}
+
+.sbihead
+{ background: #FFFFFF url(../images/sbi_header.png);
+ color: #70695A;
+}
+
+.sbihead h1
+{ background: transparent;
+ color: #70695A;
+}
+
+.sbilinks li a
+{ background: #FFFFFF url(../images/link.png);
+ color: #DBD7D1;
+}
+
+.sbilinks li a:hover
+{ background: #B7B7B7;
+ color: #CE7014;
+}
+
+input, textarea
+{ background: #FFFFFF;
+ color: #70695A;
+ border-color: #CAAE90;
+}
diff --git a/slips/src/app/Marina.Web.UI/style/style.css b/slips/src/app/Marina.Web.UI/style/style.css
new file mode 100644
index 0000000..89a1c21
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/style/style.css
@@ -0,0 +1,274 @@
+/* global */
+html{height: 100%;}
+
+body
+{ font-family: verdana, arial, sans-serif;
+ padding: 0px;
+ margin: 0px;
+ font-size: .68em;
+}
+
+p
+{ margin: 0px;
+ padding: 0px 0px 16px 0px;
+ line-height: 1.7em;
+}
+
+h1
+{ font-family: arial, sans-serif;
+ letter-spacing: .1em;
+}
+
+h2
+{ margin: 0px;
+ padding: 0px 0px 4px 0px;
+ font-size: 100%;
+}
+
+img{border: 0px;}
+
+a{outline: none;}
+
+/* image positioning - left, right and center */
+.left
+{ float: left;
+ padding: 0px 8px 0px 0px;
+}
+
+.right
+{ float: right;
+ padding: 0px 0px 0px 8px;
+}
+
+.center
+{ display: block;
+ text-align: center;
+ margin: 0 auto;
+}
+
+/* block quote */
+blockquote
+{ margin: 20px 0px 20px 0px;
+ padding: 10px 20px 0px 20px;
+ border-left: 8px solid;
+}
+
+/* unordered list */
+ul
+{ margin: 8px 0px 0px 16px;
+ padding: 0px;
+}
+
+ul li
+{ list-style-type: square;
+ margin: 0px 0px 11px 0px;
+ padding: 0px;
+}
+
+/* ordered list */
+ol
+{ margin: 8px 0px 0px 24px;
+ padding: 0px;
+}
+
+ol li
+{ margin: 0px 0px 11px 0px;
+ padding: 0px;
+}
+
+/* main container */
+#main
+{ width: 780px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+/* links above the logo / footer */
+#links, #footer
+{ margin-left: auto;
+ margin-right: auto;
+ padding: 10px 21px 0px 19px;
+ width: 720px;
+ height: 26px;
+ font-size: 94%;
+ text-transform: uppercase;
+}
+
+#links{text-align: right;}
+
+#footer{text-align: center;}
+
+#links a, #footer a{text-decoration: none;}
+
+#links a:hover, #footer a:hover{text-decoration: underline;}
+
+/* logo */
+#logo
+{ margin-left: auto;
+ margin-right: auto;
+ width: 760px;
+ height: 100px;
+ text-align: left;
+}
+
+#logo h1
+{ margin: 0px;
+ padding: 41px 0px 0px 19px;
+ font-size: 150%;
+ letter-spacing: .2em;
+}
+
+/* navigation menu */
+#menu
+{ height: 42px;
+ width: 760px;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#menu ul{margin: 0px auto;}
+
+#menu li
+{ float: left;
+ margin: 0px;
+ padding: 0px;
+}
+
+#menu li a
+{ display: block;
+ float: left;
+ height: 37px;
+ text-decoration: none;
+ padding: 3px 19px 2px 19px;
+ text-transform: uppercase;
+}
+
+/* main content */
+#content
+{ margin-left: auto;
+ margin-right: auto;
+ width: 760px;
+ height: auto;
+ padding: 0px;
+ overflow: hidden;
+}
+
+/* column 1 - contains sidebar items */
+#column1
+{ width: 207px;
+ float: right;
+ padding: 16px 0px 15px 0px;
+}
+
+.sidebaritem
+{ text-align: left;
+ width: 188px;
+ float: left;
+ margin: 0px 0px 25px 0px;
+}
+
+.sbihead
+{ height: 14px;
+ width: 188px;
+ padding: 5px 0px 5px 19px;
+ text-transform: uppercase;
+}
+
+.sbihead h1
+{ padding: 0px;
+ margin: 0px;
+ font-weight: bold;
+ font-size: 112%;
+}
+
+.sbicontent{padding: 14px 8px 8px 19px;}
+
+.sbicontent p
+{ line-height: 14px;
+ padding: 0px 0px 8px 0px;
+}
+
+.sbilinks{padding: 0px;}
+
+.sbilinks ul{margin: 0px auto;}
+
+.sbilinks li
+{ margin: 0px;
+ float: left;
+ list-style: none;
+}
+
+.sbilinks li a , .sbilinks li a:hover
+{ float: left;
+ height: 16px;
+ text-decoration: none;
+ padding: 5px 0px 4px 19px;
+ width: 188px;
+ border: 0px;
+}
+
+/* column 2 - page content */
+#column2
+{ text-align: justify;
+ width: 512px;
+ float: left;
+ padding: 12px 3px 15px 19px;
+}
+
+#column2 h1
+{ padding: 6px 0px 4px 0px;
+ margin: 0px 0px 12px 0px;
+ border-bottom: 1px solid;
+ font-size: 150%;
+ text-transform: uppercase;
+ font-weight: normal;
+}
+
+.sidebaritem a, #column2 a, .sidebaritem a:hover, #column2 a:hover
+{ padding: 0px 0px 2px 0px;
+ text-decoration: none;
+ border-bottom: 1px dashed;
+}
+
+.sidebaritem a:hover, #column2 a:hover{border-bottom: 1px solid;}
+
+/* contact page - form layout */
+form{margin-top: 0px;}
+
+div.row
+{ clear: both;
+ width: 448px;
+}
+
+div.row span.formlabel
+{ float: left;
+ width: 150px;
+ text-align: left;
+}
+
+div.row span.forminput
+{ float: right;
+ text-align: right;
+}
+
+div.spacer
+{ clear: both;
+ width: 80px;
+}
+
+input, textarea
+{ width: 259px;
+ font-family: verdana, arial, sans-serif;
+ border: 1px solid;
+ font-size: 100%;
+ margin: 2px;
+}
+
+.submit
+{ font-family: verdana, arial, sans-serif;
+ border: 1px solid;
+ width: 70px;
+ height: 22px;
+ cursor: pointer;
+ font-size: 100%;
+}
diff --git a/slips/src/app/Marina.Web.UI/windsor.config.xml b/slips/src/app/Marina.Web.UI/windsor.config.xml
new file mode 100644
index 0000000..7dd706c
--- /dev/null
+++ b/slips/src/app/Marina.Web.UI/windsor.config.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <components>
+ <component id="ILogFactory"
+ service="Marina.Infrastructure.Logging.Interfaces.ILogFactory, Marina"
+ type="Marina.Infrastructure.Logging.Log4Net.Log4NetLogFactory, Marina" />
+
+ <component id="ILoginCredentialsMapper"
+ service="Marina.Presentation.Mappers.ILoginCredentialsMapper, Marina"
+ type="Marina.Presentation.Mappers.LoginCredentialsMapper, Marina" />
+
+ <component id="INewBoatRegistrationMapper"
+ service="Marina.Presentation.Mappers.INewBoatRegistrationMapper, Marina"
+ type="Marina.Presentation.Mappers.NewBoatRegistrationMapper, Marina" />
+
+ <component id="IUpdateRegistrationPresentationMapper"
+ service="Marina.Presentation.Mappers.IUpdateRegistrationPresentationMapper, Marina"
+ type="Marina.Presentation.Mappers.UpdateRegistrationPresentationMapper, Marina" />
+
+ <component id="ICustomerRegistrationPresentationMapper"
+ service="Marina.Presentation.Mappers.ICustomerRegistrationPresentationMapper, Marina"
+ type="Marina.Presentation.Mappers.CustomerRegistrationPresentationMapper, Marina" />
+
+ <component id="IAuthenticationTask"
+ service="Marina.Task.IAuthenticationTask, Marina"
+ type="Marina.Task.AuthenticationTask, Marina" />
+
+ <component id="ICatalogTasks"
+ service="Marina.Task.ICatalogTasks, Marina"
+ type="Marina.Task.CatalogTasks, Marina" />
+
+ <component id="IRegistrationTasks"
+ service="Marina.Task.IRegistrationTasks, Marina"
+ type="Marina.Task.RegistrationTasks, Marina" />
+
+ <component id="IDatabaseGateway"
+ service="Marina.DataAccess.IDatabaseGateway, Marina"
+ type="Marina.DataAccess.DatabaseGateway, Marina" />
+
+ <component id="IDatabaseConnectionFactory"
+ service="Marina.DataAccess.IDatabaseConnectionFactory, Marina"
+ type="Marina.DataAccess.DatabaseConnectionFactory, Marina" />
+
+ <component id="ISlipsRepository"
+ service="Marina.Domain.Repositories.ISlipsRepository, Marina"
+ type="Marina.DataAccess.Repositories.SlipsRepository, Marina" />
+
+ <component id="ISlipsToDisplayDTOMapper"
+ service="Marina.Task.Mappers.ISlipsToDisplayDTOMapper, Marina"
+ type="Marina.Task.Mappers.SlipsToDisplayDTOMapper, Marina" />
+
+ <component id="IDockRepository"
+ service="Marina.Domain.Repositories.IDockRepository, Marina"
+ type="Marina.DataAccess.Repositories.DockRepository, Marina" />
+
+ <component id="IDockToDisplayDTOMapper"
+ service="Marina.Task.Mappers.IDockToDisplayDTOMapper, Marina"
+ type="Marina.Task.Mappers.DockToDisplayDTOMapper, Marina" />
+
+ <component id="ICustomerRepository"
+ service="Marina.Domain.Repositories.ICustomerRepository, Marina"
+ type="Marina.DataAccess.Repositories.CustomerRepository, Marina" />
+
+ <component id="IBrokenRulesToDisplayItemMapper"
+ service="Marina.Task.Mappers.IBrokenRulesToDisplayItemMapper, Marina"
+ type="Marina.Task.Mappers.BrokenRulesToDisplayItemMapper, Marina" />
+
+ <component id="ICustomerDataMapper"
+ service="Marina.DataAccess.DataMappers.ICustomerDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.CustomerDataMapper, Marina" />
+
+ <component id="IBoatDataMapper"
+ service="Marina.DataAccess.DataMappers.IBoatDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.BoatDataMapper, Marina" />
+
+ <component id="ILeaseDataMapper"
+ service="Marina.DataAccess.DataMappers.ILeaseDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.LeaseDataMapper, Marina" />
+
+ <component id="IRegistrationDataMapper"
+ service="Marina.DataAccess.DataMappers.IRegistrationDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.RegistrationDataMapper, Marina" />
+
+ <component id="IDockDataMapper"
+ service="Marina.DataAccess.DataMappers.IDockDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.DockDataMapper, Marina" />
+
+ <component id="ISlipDataMapper"
+ service="Marina.DataAccess.DataMappers.ISlipDataMapper, Marina"
+ type="Marina.DataAccess.DataMappers.SlipDataMapper, Marina" />
+
+ <component id="IHttpGateway"
+ service="Marina.Web.Http.IHttpGateway, Marina"
+ type="Marina.Web.Http.HttpGateway, Marina" />
+
+ <component id="IHttpContext"
+ service="Marina.Web.IHttpContext, Marina"
+ type="Marina.Web.CurrentHttpContext, Marina" />
+
+ <component id="IHttpRequest"
+ service="Marina.Web.IHttpRequest, Marina"
+ type="Marina.Web.CurrentHttpRequest, Marina" />
+
+ <component id="ILeaseTasks"
+ service="Marina.Task.ILeaseTasks, Marina"
+ type="Marina.Task.LeaseTasks, Marina" />
+
+ <component id="ILeaseToDtoMapper"
+ service="Marina.Task.Mappers.ILeaseToDtoMapper, Marina"
+ type="Marina.Task.Mappers.LeaseToDtoMapper, Marina" />
+
+ <component id="ILeaseRequestDtoFromHttpRequestMapper"
+ service="Marina.Presentation.Mappers.ILeaseRequestDtoFromHttpRequestMapper, Marina"
+ type="Marina.Presentation.Mappers.LeaseRequestDtoFromHttpRequestMapper, Marina" />
+ </components>
+</configuration> \ No newline at end of file