summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/Presentation/Presenters/CurrentLeasesPresenter.cs
blob: 7f80cc46e35b98d8d7f25ff66c25f70694e5faf4 (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
using Marina.Infrastructure.Container;
using Marina.Presentation.Views;
using Marina.Task;
using Marina.Web;

namespace Marina.Presentation.Presenters {
	public class CurrentLeasesPresenter : ICurrentLeasesPresenter {
		public CurrentLeasesPresenter( ICurrentLeasesView view )
			: this( view, Resolve.DependencyFor< IHttpRequest >( ), Resolve.DependencyFor< ILeaseTasks >( ) ) {}

		public CurrentLeasesPresenter( ICurrentLeasesView view, IHttpRequest request, ILeaseTasks task ) {
			_view = view;
			_request = request;
			_task = task;
		}

		public void Initialize() {
			_view.Display( _task.FindAllLeasesFor( _request.ParsePayloadFor( PayloadKeys.CustomerId ) ) );
		}

		private readonly ICurrentLeasesView _view;
		private readonly IHttpRequest _request;
		private readonly ILeaseTasks _task;
	}
}