public virtual void Construct(GOUserDataObject gOUser, bool includeDirtyObjectsOnly) { if (gOUser == null) { return; } this.PrimaryKey = gOUser.PrimaryKey; if (gOUser.ObjectsDataSet == null) { var dataset = ApplicationSettings.Container.Resolve <IObjectsDataSet>(); dataset.AddObject(gOUser); } if (gOUser.ObjectsDataSet == null) { _logEngine.LogError("Unable to set a dataset to the Entity GOUser", "Unable to set a dataset to the entity. Container may not be initialized", "GOUserDataObject", null); throw new PulpException("Unexpected Error : Unable to set a dataset to the entity : GOUser"); } if (gOUser.InternalObjectId == null) { _logEngine.LogError("Unable to construct an object without InternalObjectId in GOUserDataObject", "The Object you are trying to construct doesn't have an InternalObjectId", "GOUserDataObject", null); throw new PulpException("Unexpected Error : Unable to construct an object without InternalObjectId in GOUserDataObject"); } this.InternalObjectId = (int)gOUser.InternalObjectId; this.ObjectsDataSet = includeDirtyObjectsOnly ? gOUser.ObjectsDataSet.CloneDirtyObjects() : gOUser.ObjectsDataSet; }
public virtual void SetGOUserValue(GOUserDataObject valueToSet, bool notifyChanges, bool dirtyHandlerOn) { var _relatedObjects = ObjectsDataSet.GetRelatedObjects <GOUserDataObject>(this, "GOUser"); var existing_gOUser = _relatedObjects == null ? null : _relatedObjects.SingleOrDefault(); // Give opportunity to change value before set OnBeforeSetRelationField("GOUser", valueToSet); if (!ReferenceEquals(null, valueToSet)) { ObjectsDataSet.AddObjectIfDoesNotExist(valueToSet); if (this.IsNew) { valueToSet._userProfile_NewObjectId = this.InternalObjectId; } else { // Sync the one-to-one association from the FK side valueToSet = ObjectsDataSet.GetObject(valueToSet); valueToSet.UserProfile = this; valueToSet.UserName = this.Uri; } } else if (existing_gOUser != null) { ObjectsDataSet.RemoveObject(existing_gOUser); } if (!ReferenceEquals(existing_gOUser, valueToSet)) { OnPropertyChanged("GOUser", notifyChanges, dirtyHandlerOn); } }
/// <summary> /// Copy Constructor /// </summary> public GOUserDataObject(GOUserDataObject template, bool deepCopy) { this.SetPasswordExpiryValue(template.PasswordExpiry, false, false); this._passwordExpiry_WithTimezoneOffset = template._passwordExpiry_WithTimezoneOffset; this.SetBlockedValue(template.Blocked, false, false); this.SetEmailAddressValue(template.EmailAddress, false, false); this.SetEmailValidatedValue(template.EmailValidated, false, false); this.SetFirstNameValue(template.FirstName, false, false); this.SetFullNameValue(template.FullName, false, false); this.SetIdValue(template.Id, false, false); this.SetLastNameValue(template.LastName, false, false); this.SetPasswordValue(template.Password, false, false); this.SetUnregisteredValue(template.Unregistered, false, false); this.SetUserNameValue(template.UserName, false, false); this.SetUserValidatedValue(template.UserValidated, false, false); this._userProfile_NewObjectId = template._userProfile_NewObjectId; this.SetIsNewValue(template.IsNew, false, false); if (deepCopy) { this.ObjectsDataSet = template.ObjectsDataSet.Clone(); // Remove the template object from the dataset this.ObjectsDataSet.RemoveObject(template); // And Replace by the one we're currently constructing this.ObjectsDataSet.AddObject(this); } this.SetIsDirtyValue(template.IsDirty, false, false); this.SetIsMarkedForDeletionValue(template.IsMarkedForDeletion, false, false); }
public IEnumerable <GOUserGroupDataObject> GetUserGroupItemsForUser(GOUserDataObject userInstance) { if (userInstance.IsNew) { return(GOUserGroupObjects.Where(o => o.Value._user_NewObjectId != null && o.Value._user_NewObjectId == userInstance.InternalObjectId).Select(o => o.Value)); } if (User_FKIndex.ContainsKey(userInstance.Id)) { return(User_FKIndex[userInstance.Id].Where(e => GOUserGroupObjects.ContainsKey(e)).Select(e => GOUserGroupObjects[e])); } return(new DataObjectCollection <GOUserGroupDataObject>()); }
protected void SetProperties(GOUserDataObject x) { x.SetIdValue(Id, false, false); x.SetEmailAddressValue(EmailAddress, false, false); x.SetFullNameValue(FullName, false, false); x.SetLastNameValue(LastName, false, false); x.SetPasswordValue(Password, false, false); x.SetFirstNameValue(FirstName, false, false); x.SetPasswordExpiryValue(PasswordExpiry, false, false); x.SetUnregisteredValue(Unregistered, false, false); x.SetEmailValidatedValue(EmailValidated, false, false); x.SetBlockedValue(Blocked, false, false); x.SetUserValidatedValue(UserValidated, false, false); x.SetUserNameValue(this.UserName, false, false); }
protected void SetRelations(GOUserDataObject x) { var prefetches = PrefetchAssociations.Get("GOUser", ApplicationSettings.Resolve <IDataProviderTransaction>()?.Parameters); if (prefetches.Contains("UserRoleItems") && this.UserRoleItems.Count > 0) { var iter = this.UserRoleItems.GetEnumerator(); while (iter.MoveNext()) { var userRoleItemsItem = x.ObjectsDataSet.GetObject(new GOUserRoleDataObject((System.String)iter.Current.GORoleName, (System.Guid)iter.Current.GOUserId) { IsNew = false }); if (userRoleItemsItem == null) { userRoleItemsItem = iter.Current.ToDataObject(x.ObjectsDataSet) as GOUserRoleDataObject; } x.UserRoleItems.Add(userRoleItemsItem); } } if (prefetches.Contains("UserGroupItems") && this.UserGroupItems.Count > 0) { var iter = this.UserGroupItems.GetEnumerator(); while (iter.MoveNext()) { var userGroupItemsItem = x.ObjectsDataSet.GetObject(new GOUserGroupDataObject((System.String)iter.Current.GOGroupName, (System.Guid)iter.Current.GOUserId) { IsNew = false }); if (userGroupItemsItem == null) { userGroupItemsItem = iter.Current.ToDataObject(x.ObjectsDataSet) as GOUserGroupDataObject; } x.UserGroupItems.Add(userGroupItemsItem); } } }
/// /// Bridge to DataObject /// public virtual IDataObject ToDataObject(IObjectsDataSet dataset) { var session = NHibernateSessionController.GetCurrentSession(); session.Evict(this); var x = new GOUserDataObject(); SetProperties(x); x.IsDirty = x.IsNew = x.IsMarkedForDeletion = false; x.ObjectsDataSet = dataset; x.ObjectsDataSet.AddObjectIfDoesNotExist(x); // Deep-map prefetch relations if (PrefetchAssociations.HasPrefetchForEntity("GOUser", ApplicationSettings.Resolve <IDataProviderTransaction>()?.Parameters)) { SetRelations(x); } return(x); }
public virtual void SetGOUserValue(GOUserDataObject valueToSet) { SetGOUserValue(valueToSet, true, true); }
public virtual void SetUserValue(GOUserDataObject valueToSet, bool notifyChanges, bool dirtyHandlerOn) { GOUserDataObject existing_user = null; if (!(ObjectsDataSet == null)) { var key = this._user_NewObjectId == null ? new GOUserDataObject(this.GOUserId) { IsNew = false } : new GOUserDataObject() { IsNew = true, InternalObjectId = this._user_NewObjectId }; existing_user = (GOUserDataObject)ObjectsDataSet.GetObject(key); } if (ReferenceEquals(existing_user, valueToSet)) { return; } // Give opportunity to change value before set OnBeforeSetRelationField("User", valueToSet); // Setting the navigator desync the FK. The FK should be resync if (!ReferenceEquals(null, valueToSet)) { if (ObjectsDataSet == null) { _logEngine.LogError("Unable to set Relation Field", "Unable to set Relation Field, your entity doesn't have a DataSet.", "GOUserRoleDataObject", null); throw new PulpException("Unable to set Relation fields, your entity doesn't have a DataSet"); } ObjectsDataSet.AddObjectIfDoesNotExist(valueToSet); if (valueToSet.IsNew) { if (_user_NewObjectId != valueToSet.InternalObjectId) { _user_NewObjectId = valueToSet.InternalObjectId; _gOUserId = valueToSet.Id; OnPropertyChanged("GOUserId", notifyChanges, dirtyHandlerOn); } } else { if (_gOUserId != valueToSet.Id) { _user_NewObjectId = null; _gOUserId = valueToSet.Id; OnPropertyChanged("GOUserId", notifyChanges, dirtyHandlerOn); } } } else { _gOUserId = Guid.Empty; OnPropertyChanged("GOUserId", notifyChanges, dirtyHandlerOn); } if (!ReferenceEquals(existing_user, valueToSet)) { OnPropertyChanged("User", notifyChanges, dirtyHandlerOn); } }
public GOUserContainer(GOUserDataObject gOUser, bool includeDirtyObjectsOnly) { Construct(gOUser, includeDirtyObjectsOnly); }
public GOUserContainer(GOUserDataObject gOUser) { Construct(gOUser, false); }