public ConnectorDetail Get(ConnectorCriteria connectorCriteria) { using (var uow = UnitOfWorkFactory.Create <NovelContext>()) { var service = new ConnectorService(uow); var detail = service.Get(connectorCriteria); return(detail); } }
/// <summary> /// Check for Connector of named type(s) from a left item /// </summary> public IContentQuery<ConnectorPart, ConnectorPartRecord> Connectors(IContent left, ConnectorCriteria criteria = ConnectorCriteria.Auto, params string[] connectorTypes) { var leftId = left.Id; var query = Connectors(connectorTypes); // Always get published items query = query.Where<ConnectorPartRecord>(c => c.LeftContentItem_id == leftId); query = ApplyConnectorCriteria(left, criteria, query); return query; /* // Version id we're looking for var leftVersionId = left.ContentItem.VersionRecord.Id; query = query.ForVersion(VersionOptions.AllVersions).Where<ConnectorPartRecord>(c => c.LeftContentItem_id == leftId && !c.DeleteWhenLeftPublished && (c.LeftContentVersionId==null || c.LeftContentVersionId == leftVersionId)); return query; */ }
public ConnectorDetail Get(ConnectorCriteria criteria) { var qConnector = View <Connector>().All(); if (criteria.IDToInt > 0) { qConnector = qConnector.Where(w => w.ID == criteria.IDToInt); } var connector = qConnector.SingleOrDefault(); if (connector == null) { return(null); } var detail = new ConnectorDetail(); MapProperty(connector, detail); return(detail); }
/// <summary> /// Check for Connector of named type(s) from a left item /// </summary> public IContentQuery <ConnectorPart, ConnectorPartRecord> Connectors(IContent left, ConnectorCriteria criteria = ConnectorCriteria.Auto, params string[] connectorTypes) { var leftId = left.Id; var query = Connectors(connectorTypes); // Always get published items query = query.Where <ConnectorPartRecord>(c => c.LeftContentItem_id == leftId); query = ApplyConnectorCriteria(left, criteria, query); return(query); /* * // Version id we're looking for * var leftVersionId = left.ContentItem.VersionRecord.Id; * query = query.ForVersion(VersionOptions.AllVersions).Where<ConnectorPartRecord>(c => * c.LeftContentItem_id == leftId * && !c.DeleteWhenLeftPublished * && (c.LeftContentVersionId==null || c.LeftContentVersionId == leftVersionId)); * return query; */ }
/// <summary> /// Check for Connector of named type(s) from a left item /// </summary> public IContentQuery <ConnectorPart, ConnectorPartRecord> LeftConnectors(IContent right, ConnectorCriteria criteria = ConnectorCriteria.Auto, params string[] connectorTypes) { var rightId = right.Id; var query = Connectors(connectorTypes); // Always get published items query = query.Where <ConnectorPartRecord>(c => c.RightContentItem_id == rightId); query = ApplyConnectorCriteria(right, criteria, query); return(query); }
private IContentQuery <ConnectorPart, ConnectorPartRecord> ApplyConnectorCriteria(IContent left, ConnectorCriteria criteria, IContentQuery <ConnectorPart, ConnectorPartRecord> query) { if (criteria == ConnectorCriteria.Auto) { criteria = (!left.IsPublished() && left.ContentItem.VersionRecord != null && left.ContentItem.VersionRecord.Latest) ? ConnectorCriteria.Drafts : ConnectorCriteria.Published; } switch (criteria) { case ConnectorCriteria.Published: // Always show published query = query.ForVersion(VersionOptions.Published); break; case ConnectorCriteria.Drafts: // Drafted item, get Latest (but exclude deleted) query = query.ForVersion(VersionOptions.Latest).Where(c => !c.DeleteWhenLeftPublished); break; case ConnectorCriteria.DraftsAndDeleted: // Drafted item, get Latest (but exclude deleted) query = query.ForVersion(VersionOptions.Latest); break; } return(query); }
private IContentQuery<ConnectorPart, ConnectorPartRecord> ApplyConnectorCriteria(IContent left, ConnectorCriteria criteria, IContentQuery<ConnectorPart, ConnectorPartRecord> query) { if (criteria == ConnectorCriteria.Auto) criteria = (!left.IsPublished() && left.ContentItem.VersionRecord != null && left.ContentItem.VersionRecord.Latest) ? ConnectorCriteria.Drafts : ConnectorCriteria.Published; switch (criteria) { case ConnectorCriteria.Published: // Always show published query = query.ForVersion(VersionOptions.Published); break; case ConnectorCriteria.Drafts: // Drafted item, get Latest (but exclude deleted) query = query.ForVersion(VersionOptions.Latest).Where(c => !c.DeleteWhenLeftPublished); break; case ConnectorCriteria.DraftsAndDeleted: // Drafted item, get Latest (but exclude deleted) query = query.ForVersion(VersionOptions.Latest); break; } return query; }
/// <summary> /// Check for Connector of named type(s) from a left item /// </summary> public IContentQuery<ConnectorPart, ConnectorPartRecord> LeftConnectors(IContent right, ConnectorCriteria criteria = ConnectorCriteria.Auto, params string[] connectorTypes) { var rightId = right.Id; var query = Connectors(connectorTypes); // Always get published items query = query.Where<ConnectorPartRecord>(c => c.RightContentItem_id == rightId); query = ApplyConnectorCriteria(right, criteria, query); return query; }