public ClientXObjectDescriptor(Guid _uid, AbstractXClient <TKind> _client, Guid _collectionOwnerUid) { #if DEBUG if (_uid == Guid.Empty) { throw new NotImplementedException("??? why"); } #endif CollectionOwnerUid = _collectionOwnerUid; Uid = _uid; m_client = _client; }
internal void SetClientInternal(AbstractXClient <TKind> _client) { if (this is IXClientUserInternal <TKind> ) { ((IXClientUserInternal <TKind>) this).SetClient(_client); } foreach (var pair in m_xValues) { var clientUser = pair.Value as IXClientUserInternal <TKind>; if (clientUser != null) { clientUser.SetClient(_client); } } }
/// <summary> /// Вызывается для создания дескриптора для нового объекта /// </summary> /// <param name="_newBorn"></param> /// <param name="_client"></param> /// <param name="_kindId"></param> /// <param name="_parentUid"></param> public ClientXObjectDescriptor(ClientXObject <TKind> _newBorn, AbstractXClient <TKind> _client, int _kindId, Guid _parentUid) : this(_newBorn.Uid, _client, _parentUid) { var child = _newBorn as IClientXChildObject <TKind>; if (child != null) { child.SetParent(_parentUid); } m_instances.Add(_newBorn.GetType(), _newBorn); m_instancesCounter.Add(_newBorn, 1); Kind = _kindId; ResetState(); _newBorn.Changed += XObjectChanged; var changes = _newBorn.GetChanges(); if (changes.Any()) { Report = new ServerXReport(_newBorn.Uid, _newBorn.GetChanges(), 0, m_client.KindToIntInternal(_newBorn.Kind), EState.SINGLE); } }
void IXClientUserInternal <TKind> .SetClient(AbstractXClient <TKind> _client) { m_client = _client; }
public void SetClient(AbstractXClient <TKind> _client) { m_client = _client; }