//------------------------------------------------------------------------------ // // This code was generated from a template. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; namespace WNS.Entities { public partial class Devision { #region Primitive Properties public virtual int Id { get; set; } public virtual string Name { get; set; } public virtual int OrganizationId { get { return _organizationId; } set { if (_organizationId != value) { if (Organization != null && Organization.Id != value) { Organization = null; } _organizationId = value; } } } private int _organizationId; #endregion #region Navigation Properties public virtual Organization Organization { get { return _organization; } set { if (!ReferenceEquals(_organization, value)) { var previousValue = _organization; _organization = value; FixupOrganization(previousValue); } } } private Organization _organization; public virtual ICollection Contact { get { if (_contact == null) { var newCollection = new FixupCollection(); newCollection.CollectionChanged += FixupContact; _contact = newCollection; } return _contact; } set { if (!ReferenceEquals(_contact, value)) { var previousValue = _contact as FixupCollection; if (previousValue != null) { previousValue.CollectionChanged -= FixupContact; } _contact = value; var newValue = value as FixupCollection; if (newValue != null) { newValue.CollectionChanged += FixupContact; } } } } private ICollection _contact; public virtual ICollection ContactInformation { get { if (_contactInformation == null) { var newCollection = new FixupCollection(); newCollection.CollectionChanged += FixupContactInformation; _contactInformation = newCollection; } return _contactInformation; } set { if (!ReferenceEquals(_contactInformation, value)) { var previousValue = _contactInformation as FixupCollection; if (previousValue != null) { previousValue.CollectionChanged -= FixupContactInformation; } _contactInformation = value; var newValue = value as FixupCollection; if (newValue != null) { newValue.CollectionChanged += FixupContactInformation; } } } } private ICollection _contactInformation; #endregion #region Association Fixup private void FixupOrganization(Organization previousValue) { if (previousValue != null && previousValue.Devision.Contains(this)) { previousValue.Devision.Remove(this); } if (Organization != null) { if (!Organization.Devision.Contains(this)) { Organization.Devision.Add(this); } if (OrganizationId != Organization.Id) { OrganizationId = Organization.Id; } } } private void FixupContact(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { foreach (Contact item in e.NewItems) { item.Devision = this; } } if (e.OldItems != null) { foreach (Contact item in e.OldItems) { if (ReferenceEquals(item.Devision, this)) { item.Devision = null; } } } } private void FixupContactInformation(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { foreach (ContactInformation item in e.NewItems) { item.Devision = this; } } if (e.OldItems != null) { foreach (ContactInformation item in e.OldItems) { if (ReferenceEquals(item.Devision, this)) { item.Devision = null; } } } } #endregion } }