Ejemplo n.º 1
0
 public ConnectorDetail Get(ConnectorCriteria connectorCriteria)
 {
     using (var uow = UnitOfWorkFactory.Create <NovelContext>())
     {
         var service = new ConnectorService(uow);
         var detail  = service.Get(connectorCriteria);
         return(detail);
     }
 }
Ejemplo n.º 2
0
        /// <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;
             */
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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;
             */
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
 /// <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;
 }