summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/Presentation/DTO/SubmitLeaseRequestDTO.cs
blob: a7899b148858f5e1728d389645a21879642c5775 (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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;

namespace Marina.Presentation.DTO {
	[Serializable]
	public class SubmitLeaseRequestDTO : IEquatable< SubmitLeaseRequestDTO > {
		private SubmitLeaseRequestDTO() {}

		public SubmitLeaseRequestDTO( long customerId, long slipId, string duration ) {
			_customerId = customerId;
			_slipId = slipId;
			_duration = duration;
		}

		public long CustomerId {
			get { return _customerId; }
		}

		public long SlipId {
			get { return _slipId; }
		}

		public string Duration {
			get { return _duration; }
		}

		public bool Equals( SubmitLeaseRequestDTO submitLeaseRequestDTO ) {
			if ( submitLeaseRequestDTO == null ) {
				return false;
			}
			if ( _customerId != submitLeaseRequestDTO._customerId ) {
				return false;
			}
			if ( _slipId != submitLeaseRequestDTO._slipId ) {
				return false;
			}
			if ( !Equals( _duration, submitLeaseRequestDTO._duration ) ) {
				return false;
			}
			return true;
		}

		public override bool Equals( object obj ) {
			if ( ReferenceEquals( this, obj ) ) {
				return true;
			}
			return Equals( obj as SubmitLeaseRequestDTO );
		}

		public override int GetHashCode() {
			int result = ( int )_customerId;
			result = 29*result + ( int )_slipId;
			result = 29*result + ( _duration != null ? _duration.GetHashCode( ) : 0 );
			return result;
		}

		private readonly long _customerId;
		private readonly long _slipId;
		private readonly string _duration;
	}
}