summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/Web/Views/ViewLuggageTransporter.cs
blob: a86c734e05b2b4f3f09d52ff83c25022ace76912 (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
32
using System.Collections;
using System.Web;

namespace Marina.Web.Views {
	public class ViewLuggageTransporter< Luggage > : IViewLuggageTransporter< Luggage > {
		public ViewLuggageTransporter( IViewLuggageTicket< Luggage > key ) : this( key, HttpContext.Current.Items ) {}

		private ViewLuggageTransporter( IViewLuggageTicket< Luggage > key, IDictionary items ) {
			_ticket = key;
			_items = items;
		}

		public Luggage Value() {
			foreach ( DictionaryEntry entry in _items ) {
				if ( entry.Value is Luggage ) {
					return ( Luggage )entry.Value;
				}
				//if ( entry.Key.Equals( _ticket ) ) {
				//    return ( Luggage )entry.Value;
				//}
			}
			return default( Luggage );
		}

		public void Add( Luggage value ) {
			_items.Add( _ticket, value );
		}

		private readonly IViewLuggageTicket< Luggage > _ticket;
		private readonly IDictionary _items;
	}
}