public ObjectRepository(SessionIdentifier session, DomainObjectInquiry objectInquiry) { m_link = new Dictionary<DomainLinkKey, DomainLink>(objectInquiry.ALinks.Count); foreach (DomainLinkConfig linkConfig in objectInquiry.ALinks) { DomainLinkKey key = new DomainLinkKey(linkConfig); DomainLink link = new DomainLink(linkConfig, session); m_link.Add(key, link); } }
internal DomainLinkConfig(CreateLinkParams createParams, EditLinkParams editParams = null) { Id = createParams.Id; Code = createParams.Code; LeftRelation = createParams.LeftRelation; RightRelation = createParams.RightRelation; LeftObject = createParams.LeftObject; RightObject = createParams.RightObject; LinkTable = createParams.LinkTable; LeftObjectIdField = createParams.LeftObjectIdField; RightObjectIdField = createParams.RightObjectIdField; if (editParams != null) Update(editParams); Key = new DomainLinkKey(this); }
public DomainLink GetLink(DomainLinkKey key) { return m_link[key]; }
public DomainLink GetLink(DomainLinkKey key) { return m_sharedObjRepository.GetLink(key); }
internal DomainLink GetLink(DomainLinkKey key) { return m_objRepository.GetLink(key); }
private void LoadLinkedObjects(SessionIdentifier sessionId, ObjectIdentifier objectId) { string objCode = objectId.Code; DomainObjectBroker broker = GetObjectBroker(objCode); long[] idList = new long[] { objectId.Id }; DbCommonCommand command = broker.LoadLinkedItemsCommand; command["ID"].Value = idList; using (IDbCommonDataReader reader = command.ExecuteReader(sessionId)) { while (reader.Read()) { long leftId = reader.GetValue<long>(0); long rightId = reader.GetValue<long>(1); string linkCode = reader.GetValue<string>(2); DomainLinkConfig linkConfig = broker.GetLinkConfig(linkCode); DomainLinkKey linkKey = new DomainLinkKey(linkConfig); //DomainLink link = SharedRepository.GetLink(linkKey); DomainLink link = DocumentManager.Instance.GetLink(sessionId, linkKey); link.Init(leftId, rightId); } reader.Close(); } }
public DomainLinkBroker GetLinkBroker(DomainLinkKey linkKey) { DomainLinkBroker result = null; if (m_domainLinkBroker.TryGetValue(linkKey, out result)) return result; var query = from link in m_inquiry.ALinks where link.Key.Equals(linkKey) select link; DomainLinkBrokerBuilder brokerBuilder = new DomainLinkBrokerBuilder(query.First(), m_connection); result = new DomainLinkBroker(brokerBuilder); m_domainLinkBroker.Add(linkKey, result); return result; }