1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: using System.Web.Security;
6: using System.ComponentModel.DataAnnotations;
7: using System.ComponentModel.DataAnnotations.Schema;
8: using System.Text.RegularExpressions;
9: using System.Data.Entity;
10:
11: namespace Ia.Ngn.Cl.Model.Huawei
12: {
13: ////////////////////////////////////////////////////////////////////////////
14:
15: /// <summary publish="true">
16: /// Huawei's ONU Entity Framework class for Next Generation Network (NGN) entity model.
17: /// </summary>
18: ///
19: /// <remarks>
20: /// Copyright © 2016-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
21: ///
22: /// 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
23: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
24: ///
25: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
26: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
27: ///
28: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
29: ///
30: /// Copyright notice: This notice may not be removed or altered from any source distribution.
31: /// </remarks>
32: public partial class Onu
33: {
34: /// <summary/>
35: public Onu() { }
36:
37: /// <summary/>
38: [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
39: public string Id { get; set; }
40:
41: /// <summary/>
42: //public int StateId { get; set; }
43:
44: /// <summary/>
45: public int FamilyTypeId { get; set; }
46:
47: /// <summary/>
48: public string Serial { get; set; }
49:
50: /// <summary/>
51: //public string EquipmentId { get; set; }
52:
53: /// <summary/>
54: public int VendorId { get; set; }
55:
56: /// <summary/>
57: //public string ActiveSoftware { get; set; }
58:
59: /// <summary/>
60: //public string PassiveSoftware { get; set; }
61:
62: /// <summary/>
63: //public string PlannedSoftware { get; set; }
64:
65: /// <summary/>
66: //public bool BatteryBackupAvailable { get; set; }
67:
68: /// <summary/>
69: //public string Description1 { get; set; }
70:
71: /// <summary/>
72: //public string Description2 { get; set; }
73:
74: /// <summary/>
75: public DateTime Created { get; set; }
76:
77: /// <summary/>
78: public DateTime Updated { get; set; }
79:
80: /// <summary/>
81: public System.Guid UserId { get; set; }
82:
83: /// <summary/>
84: public virtual Access Access { get; set; }
85:
86: /// <summary/>
87: //public virtual ICollection<OntServiceHsi> OntServiceHsis { get; set; }
88:
89: /// <summary/>
90: //public virtual ICollection<OntServiceVoip> OntServiceVoips { get; set; }
91:
92: /// <summary/>
93: //public virtual ICollection<OntOntPots> OntOntPotses { get; set; }
94:
95: ////////////////////////////////////////////////////////////////////////////
96:
97: /// <summary>
98: ///
99: /// </summary>
100: public bool Equal(Ia.Ngn.Cl.Model.Huawei.Onu b)
101: {
102: // below: this will not check the Id, Created, or Updated fields
103: bool areEqual;
104:
105: /*if (this.BatteryBackupAvailable != b.BatteryBackupAvailable) areEqual = false;
106: else*/ areEqual = true;
107:
108: return areEqual;
109: }
110:
111: ////////////////////////////////////////////////////////////////////////////
112:
113: /// <summary>
114: ///
115: /// </summary>
116: public bool Update(Ia.Ngn.Cl.Model.Huawei.Onu updatedOnu)
117: {
118: // below: this will not update Id, Created
119: bool updated;
120:
121: updated = false;
122:
123: //if (this.StateId != updatedOnu.StateId) { this.StateId = updatedOnu.StateId; updated = true; }
124: if (this.FamilyTypeId != updatedOnu.FamilyTypeId) { this.FamilyTypeId = updatedOnu.FamilyTypeId; updated = true; }
125: if (this.Serial != updatedOnu.Serial) { this.Serial = updatedOnu.Serial; updated = true; }
126: //if (this.EquipmentId != updatedOnu.EquipmentId) { this.EquipmentId = updatedOnu.EquipmentId; updated = true; }
127: if (this.VendorId != updatedOnu.VendorId) { this.VendorId = updatedOnu.VendorId; updated = true; }
128: //if (this.ActiveSoftware != updatedOnu.ActiveSoftware) { this.ActiveSoftware = updatedOnu.ActiveSoftware; updated = true; }
129: //if (this.PassiveSoftware != updatedOnu.PassiveSoftware) { this.PassiveSoftware = updatedOnu.PassiveSoftware; updated = true; }
130:
131: //if (this.PlannedSoftware != updatedOnu.PlannedSoftware) { this.PlannedSoftware = updatedOnu.PlannedSoftware; updated = true; }
132: //if (this.BatteryBackupAvailable != updatedOnu.BatteryBackupAvailable) { this.BatteryBackupAvailable = updatedOnu.BatteryBackupAvailable; updated = true; }
133: //if (this.Description1 != updatedOnu.Description1) { this.Description1 = updatedOnu.Description1; updated = true; }
134: //if (this.Description2 != updatedOnu.Description2) { this.Description2 = updatedOnu.Description2; updated = true; }
135: if (this.UserId != updatedOnu.UserId) { this.UserId = updatedOnu.UserId; updated = true; }
136: if (this.Access != updatedOnu.Access) { this.Access = updatedOnu.Access; updated = true; }
137:
138: if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
139:
140: return updated;
141: }
142:
143: ////////////////////////////////////////////////////////////////////////////
144: ////////////////////////////////////////////////////////////////////////////
145: }
146:
147: ////////////////////////////////////////////////////////////////////////////
148: ////////////////////////////////////////////////////////////////////////////
149: }