summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/Presentation/Presenters/DockPresenter.cs
blob: 4eb94024ff55195439b9ecffa55da74b070e369e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using Marina.Infrastructure.Container;
using Marina.Presentation.Views;
using Marina.Task;
using Marina.Web;

namespace Marina.Presentation.Presenters {
	public class DockPresenter : IDockPresenter {
		public DockPresenter( IDockView view )
			: this(
				view,
				Resolve.DependencyFor< IHttpRequest >( ),
				Resolve.DependencyFor< ICatalogTasks >( )
				) {}

		public DockPresenter( IDockView view, IHttpRequest request, ICatalogTasks task ) {
			_request = request;
			_view = view;
			_task = task;
		}

		public void Initialize() {
			long dockId = _request.ParsePayloadFor( PayloadKeys.DockId );
			_view.Display( _task.GetDockInformationBy( dockId ) );
			_view.Display( _task.GetAvailableSlipsForDockBy( dockId ) );
		}

		private readonly IDockView _view;
		private readonly ICatalogTasks _task;
		private readonly IHttpRequest _request;
	}
}