1: using System;
2:
3: namespace Ia.Ngn.Cl.Model.Business
4: {
5: ////////////////////////////////////////////////////////////////////////////
6:
7: /// <summary publish="true">
8: /// Service Serial Request Service support class of Optical Fiber Network (OFN) business model.
9: /// </summary>
10: ///
11: /// <remarks>
12: /// Copyright © 2018-2019 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
13: ///
14: /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
15: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
16: ///
17: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
18: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
19: ///
20: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
21: ///
22: /// Copyright notice: This notice may not be removed or altered from any source distribution.
23: /// </remarks>
24: public class ServiceSerialRequestService : IEquatable<ServiceSerialRequestService>
25: {
26: ////////////////////////////////////////////////////////////////////////////
27:
28: /// <summary>
29: ///
30: /// </summary>
31: public ServiceSerialRequestService() { }
32:
33: /// <summary/>
34: public string Id { get; set; }
35:
36: /// <summary/>
37: public string Service { get; set; }
38:
39: /// <summary/>
40: public int Serial { get; set; }
41:
42: /// <summary/>
43: public bool Provisioned { get; set; }
44:
45: /// <summary/>
46: public bool CallWaiting { get; set; }
47:
48: /// <summary/>
49: public bool InternationalCallingUserControlled { get; set; }
50:
51: /// <summary/>
52: public bool CallerId { get; set; }
53:
54: /// <summary/>
55: public bool CallForwarding { get; set; }
56:
57: /// <summary/>
58: public bool CallBarring { get; set; }
59:
60: /// <summary/>
61: public bool ConferenceCall { get; set; }
62:
63: /// <summary/>
64: public bool AbbriviatedCalling { get; set; }
65:
66: /// <summary/>
67: public bool InternationalCalling { get; set; }
68:
69: /// <summary/>
70: public bool AlarmCall { get; set; }
71:
72: /// <summary/>
73: public bool WakeupCall { get; set; }
74:
75: /// <summary/>
76: public bool BarringOfAllOutgoingCalls { get; set; }
77:
78: /// <summary/>
79: public bool BarringOfAllIncomingCalls { get; set; }
80:
81: ////////////////////////////////////////////////////////////////////////////
82:
83: /// <summary>
84: ///
85: /// </summary>
86: public static bool operator ==(ServiceSerialRequestService obj1, ServiceSerialRequestService obj2)
87: {
88: if (ReferenceEquals(obj1, obj2))
89: {
90: return true;
91: }
92:
93: if (ReferenceEquals(obj1, null))
94: {
95: return false;
96: }
97: if (ReferenceEquals(obj2, null))
98: {
99: return false;
100: }
101:
102: return (obj1.Id == obj2.Id &&
103: obj1.Service == obj2.Service &&
104: obj1.Serial == obj2.Serial &&
105: obj1.Provisioned == obj2.Provisioned &&
106: obj1.CallWaiting == obj2.CallWaiting &&
107: obj1.InternationalCallingUserControlled == obj2.InternationalCallingUserControlled &&
108: obj1.CallerId == obj2.CallerId &&
109: obj1.CallForwarding == obj2.CallForwarding &&
110: obj1.CallBarring == obj2.CallBarring &&
111: obj1.ConferenceCall == obj2.ConferenceCall &&
112: obj1.AbbriviatedCalling == obj2.AbbriviatedCalling &&
113: obj1.InternationalCalling == obj2.InternationalCalling &&
114: obj1.AlarmCall == obj2.AlarmCall &&
115: obj1.WakeupCall == obj2.WakeupCall &&
116: obj1.BarringOfAllOutgoingCalls == obj2.BarringOfAllOutgoingCalls &&
117: obj1.BarringOfAllIncomingCalls == obj2.BarringOfAllIncomingCalls);
118: }
119:
120: ////////////////////////////////////////////////////////////////////////////
121:
122: /// <summary>
123: ///
124: /// </summary>
125: public static bool operator !=(ServiceSerialRequestService obj1, ServiceSerialRequestService obj2)
126: {
127: return !(obj1 == obj2);
128: }
129:
130: ////////////////////////////////////////////////////////////////////////////
131:
132: /// <summary>
133: ///
134: /// </summary>
135: public bool Equals(ServiceSerialRequestService obj1)
136: {
137: if (ReferenceEquals(null, obj1))
138: {
139: return false;
140: }
141: if (ReferenceEquals(this, obj1))
142: {
143: return true;
144: }
145:
146: return (obj1.Id == Id &&
147: obj1.Service == Service &&
148: obj1.Serial == Serial &&
149: obj1.Provisioned == Provisioned &&
150: obj1.CallWaiting == CallWaiting &&
151: obj1.InternationalCallingUserControlled == InternationalCallingUserControlled &&
152: obj1.CallerId == CallerId &&
153: obj1.CallForwarding == CallForwarding &&
154: obj1.CallBarring == CallBarring &&
155: obj1.ConferenceCall == ConferenceCall &&
156: obj1.AbbriviatedCalling == AbbriviatedCalling &&
157: obj1.InternationalCalling == InternationalCalling &&
158: obj1.AlarmCall == AlarmCall &&
159: obj1.WakeupCall == WakeupCall &&
160: obj1.BarringOfAllOutgoingCalls == BarringOfAllOutgoingCalls &&
161: obj1.BarringOfAllIncomingCalls == BarringOfAllIncomingCalls);
162: }
163:
164: ////////////////////////////////////////////////////////////////////////////
165:
166: /// <summary>
167: ///
168: /// </summary>
169: public override bool Equals(object obj)
170: {
171: if (ReferenceEquals(null, obj))
172: {
173: return false;
174: }
175: if (ReferenceEquals(this, obj))
176: {
177: return true;
178: }
179:
180: return obj.GetType() == GetType() && Equals((ServiceSerialRequestService)obj);
181: }
182:
183: ////////////////////////////////////////////////////////////////////////////
184:
185: /// <summary>
186: ///
187: /// </summary>
188: public override int GetHashCode()
189: {
190: unchecked
191: {
192: int hashCode = Id.GetHashCode();
193: hashCode = (hashCode * 397) ^ Service.GetHashCode();
194: hashCode = (hashCode * 397) ^ Serial.GetHashCode();
195: hashCode = (hashCode * 397) ^ Provisioned.GetHashCode();
196: hashCode = (hashCode * 397) ^ CallWaiting.GetHashCode();
197: hashCode = (hashCode * 397) ^ InternationalCallingUserControlled.GetHashCode();
198: hashCode = (hashCode * 397) ^ CallerId.GetHashCode();
199: hashCode = (hashCode * 397) ^ CallForwarding.GetHashCode();
200: hashCode = (hashCode * 397) ^ CallBarring.GetHashCode();
201: hashCode = (hashCode * 397) ^ ConferenceCall.GetHashCode();
202: hashCode = (hashCode * 397) ^ AbbriviatedCalling.GetHashCode();
203: hashCode = (hashCode * 397) ^ InternationalCalling.GetHashCode();
204: hashCode = (hashCode * 397) ^ AlarmCall.GetHashCode();
205: hashCode = (hashCode * 397) ^ WakeupCall.GetHashCode();
206: hashCode = (hashCode * 397) ^ BarringOfAllOutgoingCalls.GetHashCode();
207: hashCode = (hashCode * 397) ^ BarringOfAllIncomingCalls.GetHashCode();
208: return hashCode;
209: }
210: }
211:
212: ////////////////////////////////////////////////////////////////////////////
213: ////////////////////////////////////////////////////////////////////////////
214: }
215:
216: ////////////////////////////////////////////////////////////////////////////
217: ////////////////////////////////////////////////////////////////////////////
218: }