コード例 #1
0
        private void Initialize()
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();

            _sitecoreItems.Clear();

            _versions = null;

            var treeService = ObjectFactory.Instance.Resolve <ITreeContentService>(SitecoreConstants.SitecoreDataProviderTreeServiceId);

            // Add main catalog node: "stores".
            var storeNode        = treeService.GetChildren(Constants.DataProvider.NodeType.Root, "-1").First();
            var rootSiteCoreItem = _itemFactory.Create(storeNode, _sitecoreEntryPoint);

            _sitecoreItems[rootSiteCoreItem.Id] = rootSiteCoreItem;
            _firstLevelIds = new IDList {
                rootSiteCoreItem.Id
            };

            HydrateNodeStructure(rootSiteCoreItem);

            stopwatch.Stop();
            _log.Log <ContentNodeDataProvider>(string.Format("ContentNodeDataProvider.Initialize(). {0} ms", stopwatch.ElapsedMilliseconds));
        }
コード例 #2
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            var list = new List <VersionUri>();

            var item = this.DataStorage.GetFakeItem(itemDefinition.ID);

            foreach (var field in item.Fields)
            {
                foreach (var fieldLang in field.Values)
                {
                    var language = fieldLang.Key;

                    foreach (var fieldVer in fieldLang.Value)
                    {
                        var version = fieldVer.Key;

                        if (list.Any(l => l.Language.Name == language && l.Version.Number == version))
                        {
                            continue;
                        }

                        list.Add(new VersionUri(Language.Parse(language), new Version(version)));
                    }
                }
            }

            var versions = new VersionUriList();

            foreach (var version in list)
            {
                versions.Add(version);
            }

            return(versions);
        }
コード例 #3
0
        /// <summary>
        /// Get a list of all available versions in different languages.
        /// </summary>
        /// <param name="itemDefinition">Used to identify the particular item</param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            Item result = Items.FindOneById(itemDefinition.ID.ToGuid());

            if (result != null && result.FieldValues != null)
            {
                VersionUriList versions     = new VersionUriList();
                var            versionsList = new List <VersionUri>();
                foreach (FieldValueId fieldValueId in result.FieldValues.Keys.Where(fv => fv.Version.HasValue && fv.Language != null))
                {
                    if (versionsList.Where(ver => fieldValueId.Matches(ver)).Count() == 0)
                    {
                        VersionUri newVersionUri = new VersionUri(
                            Sitecore.Data.Managers.LanguageManager.GetLanguage(fieldValueId.Language),
                            new Sitecore.Data.Version(fieldValueId.Version.Value));
                        versionsList.Add(newVersionUri);
                    }
                }
                foreach (var version in versionsList)
                {
                    versions.Add(version);
                }
                return(versions);
            }
            return(null);
        }
コード例 #4
0
        private void InitializeData()
        {
            _log.Log <SystemDataProvider>("Initializing the System Data Provider data");
            var stopwatch = new Stopwatch();

            stopwatch.Start();

            _versions = null;
            _sitecoreItems.Clear();
            _idList = new IDList();

            var memberService = ObjectFactory.Instance.Resolve <IMemberService>();
            var domainService = ObjectFactory.Instance.Resolve <IDomainService>();

            if (memberService == null || domainService == null)
            {
                throw new InvalidOperationException("Could not get the dependencies!");
            }

            var systemNodesContentProvider = new SystemNodesContentProvider(domainService, memberService);

            foreach (var item in systemNodesContentProvider.GetSystemData())
            {
                AddSitecoreItem(item);
            }

            stopwatch.Stop();
            _log.Log <SystemDataProvider>(string.Format("SystemDataProvider.InitializeData(). {0} ms", stopwatch.ElapsedMilliseconds));
        }
コード例 #5
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            if ((itemDefinition.ID != FieldIds.SystemContent.UcommerceProductsMultilistWithSearch) &&
                (itemDefinition.ID != FieldIds.SystemContent.UcommerceCategoriesTreeList))
            {
                return(null);
            }

            if (_versions == null)
            {
                lock (_lock)
                {
                    if (_versions == null)
                    {
                        var languages = LanguageManager.GetLanguages(Factory.GetDatabase(SitecoreConstants.SitecoreCoreDatabaseName)).Distinct();
                        var versions  = new VersionUriList();
                        foreach (var language in languages)
                        {
                            versions.Add(language, Version.First);
                        }

                        _versions = versions;
                    }
                }
            }

            return(_versions);
        }
コード例 #6
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            // TODO: Move to provider!
            // TODO: Use prefecthing like the old one?
            var result = Provider.GetItem(itemDefinition.ID.ToGuid());

            if (result != null && result.FieldValues != null)
            {
                var versions     = new VersionUriList();
                var versionsList = new List <VersionUri>();

                foreach (var fieldKey in result.FieldValues.Where(field => field.Version.HasValue && field.Language != null))
                {
                    if (versionsList.Any(ver => fieldKey.Matches(ver)))
                    {
                        continue;
                    }

                    var newVersionUri = new VersionUri(LanguageManager.GetLanguage(fieldKey.Language), new Version(fieldKey.Version.Value));

                    versionsList.Add(newVersionUri);
                }

                foreach (var version in versionsList)
                {
                    versions.Add(version);
                }

                return(versions);
            }

            return(null);
        }
コード例 #7
0
        public virtual VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            // return null if not present
            Assert.ArgumentNotNull(itemDefinition, "itemDefinition");

            if (DisableSerialization || DisableTransparentSync || itemDefinition == ItemDefinition.Empty)
            {
                return(null);
            }

            var versions = new VersionUriList();

            var item = GetTargetFromId(itemDefinition.ID);

            if (item == null)
            {
                return(null);
            }

            foreach (var version in item.Versions)
            {
                versions.Add(Language.Parse(version.Language.Name), Sitecore.Data.Version.Parse(version.VersionNumber));
            }

            return(versions);
        }
コード例 #8
0
 public void Clear()
 {
     _versions = null;
     foreach (var provider in _providers)
     {
         provider.Clear();
     }
 }
コード例 #9
0
 /// <summary>
 /// Updates the context result with the given Version Uri List
 /// </summary>
 /// <param name="result"></param>
 /// <param name="context"></param>
 private static void UpdateContext(VersionUriList result, CallContext context)
 {
     if ((result != null) && (result.Count > 0))
     {
         VersionUriList currentResult = context.CurrentResult as VersionUriList;
         context.CurrentResult = VersionUriList.Add(currentResult, result);
     }
     context.SetNextIndex(context.Index + 1);
 }
コード例 #10
0
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     if (Items.ContainsKey(itemDefinition.ID))
     {
         VersionUriList versionUriList = new VersionUriList();
         versionUriList.Add(LanguageManager.DefaultLanguage, Version.Parse(1));
         return(versionUriList);
     }
     return(null);
 }
コード例 #11
0
 public virtual void Process(GetItemVersionsArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     Assert.ArgumentNotNull(args.Context, "args.Context");
     var list = new VersionUriList();
     foreach (var language in args.Context.DataManager.Database.Languages)
     {
         list.Add(language, Sitecore.Data.Version.First);
     }
     args.VersionUriList = list;
 }
コード例 #12
0
        public virtual void Process(GetItemVersionsArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.ArgumentNotNull(args.Context, "args.Context");
            var list = new VersionUriList();

            foreach (var language in args.Context.DataManager.Database.Languages)
            {
                list.Add(language, Sitecore.Data.Version.First);
            }
            args.VersionUriList = list;
        }
コード例 #13
0
        // If our repository implemented language versions, this is where you'd manage it.
        // Some Product Inventory Management (PIM) system can version, so we could manage
        // that here. For this demo, we're assuming the products we have are suitable for
        // every version.
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            if (this.canProcessItem(itemDefinition.ID))
            {
                Trace.WriteLine(String.Format("GetItemVersions({0}, {1})", itemDefinition, context), "ProductDataProvider");

                var versions = new VersionUriList();
                versions.Add(Language.Current, Sitecore.Data.Version.First);

                context.Abort();
                return(versions);
            }
            return(base.GetItemVersions(itemDefinition, context));
        }
コード例 #14
0
 public override VersionUriList GetItemVersions(
     [NotNull] ItemDefinition itemDefinition,
     [NotNull] CallContext context)
 {
     lock (this)
     {
         var list = new VersionUriList();
         VersionedFields[itemDefinition.ID].GroupBy(f => f.Language + f.Version)
         .Select(
             p => new VersionUri(Language.Parse(p.First().Language), Data.Version.Parse(p.First().Version)))
         .Apply(list.Add);
         return(list);
     }
 }
コード例 #15
0
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     if (this.CanProcessItem(itemDefinition.ID, context))
     {
         var database       = Factory.GetDatabase("master");
         var versionUriList = new VersionUriList();
         foreach (var language in LanguageManager.GetLanguages(database))
         {
             versionUriList.Add(language, Sitecore.Data.Version.First);
         }
         context.Abort();
         return(versionUriList);
     }
     return(base.GetItemVersions(itemDefinition, context));
 }
コード例 #16
0
        public override VersionUriList GetItemVersions(ItemDefinition item, CallContext context)
        {
            if (CanProcessItem(item.ID))
            {
                VersionUriList versions = new VersionUriList();

                // Just a little hack
                versions.Add(Language.Current, Sitecore.Data.Version.First);

                context.Abort();

                return(versions);
            }

            return(base.GetItemVersions(item, context));
        }
コード例 #17
0
        public VersionUriList GetItemVersions()
        {
            if (_versions == null)
            {
                var languages = LanguageManager.GetLanguages(Factory.GetDatabase(SitecoreConstants.SitecoreMasterDatabaseName)).Distinct();
                var versions  = new VersionUriList();
                foreach (var language in languages)
                {
                    versions.Add(language, Version.First);
                }

                _versions = versions;
            }

            return(_versions);
        }
コード例 #18
0
 public override VersionUriList GetItemVersions(ItemDefinition item, CallContext context)
 {
     IDTableEntry[] idList = IDTable.GetKeys(ID_TABLE_PREFIX, item.ID);
     if (idList.Length > 0)
     {
         context.Abort();
         VersionUriList     versions  = new VersionUriList();
         LanguageCollection languages = Sitecore.Data.Managers.LanguageManager.GetLanguages(this.Database);
         foreach (Language language in languages)
         {
             versions.Add(language, new Sitecore.Data.Version(1));
         }
         return(versions);
     }
     return(null);
 }
コード例 #19
0
        public VersionUriList GetItemVersions()
        {
            MakeSureWeAreReady();
            if (_versions == null)
            {
                var languages = LanguageManager.GetLanguages(Factory.GetDatabase(SitecoreConstants.SitecoreMasterDatabaseName)).Distinct();
                var versions  = new VersionUriList();
                foreach (var language in languages)
                {
                    _log.Debug <TemplateDataProvider>("Adding language to list of versions: " + language.CultureInfo.Name);
                    versions.Add(language, Version.First);
                }

                _versions = versions;
            }

            return(_versions);
        }
コード例 #20
0
        public void Clear()
        {
            lock (_lock)
            {
                _weAreReady = false;

                _versions = null;
                _sitecoreItems.Clear();
                _topUcommerceFolder = new FolderItem(FieldIds.Template.UCommerceTemplateFolderId, SitecoreConstants.UCommerceDynamicTemplatesFolderName)
                {
                    ParentId = EntryPointId
                };

                _topUcommerceFolder.AddToFieldList(FieldIDs.Icon, _iconFolder + "/uCommerce-logo-symbol-small.png");
                AddItemsToDictionary(_topUcommerceFolder);
                _idList = new IDList();
            }
        }
コード例 #21
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            var versions = new VersionUriList();

            if (itemDefinition == ItemDefinition.Empty)
            {
                return(versions);
            }

            var database = GetDatabase(context);
            var syncItem = database.GetItem(itemDefinition.ID.ToString());

            foreach (var syncVersion in syncItem.Versions)
            {
                versions.Add(Language.Parse(syncVersion.Language), Version.Parse(syncVersion.Version));
            }

            return(versions);
        }
コード例 #22
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            Assert.ArgumentNotNull(itemDefinition, "itemDefinition");

            if (itemDefinition == ItemDefinition.Empty)
            {
                return(null);
            }

            var versions = new VersionUriList();

            var syncItem = SerializedDatabase.GetItem(itemDefinition.ID);

            foreach (var syncVersion in syncItem.Versions)
            {
                versions.Add(Language.Parse(syncVersion.Language), Version.Parse(syncVersion.Version));
            }

            return(versions);
        }
コード例 #23
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition)
        {
            // TODO: change signature to create FieldList once per all data providers
            var list = new VersionUriList();

            var item = DataSet.LanguageData.TryGetValue(itemDefinition.ID.Guid);

            if (item == null)
            {
                return(list);
            }

            foreach (var lang in item.Keys)
            {
                // in read-only data provider only single "1" version per language is supported
                list.Add(Language.Parse(lang), Data.Version.Parse(1));
            }

            return(list);
        }
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            var item = GetItem(itemDefinition.ID);

            if (item != null)
            {
                var versions = new VersionUriList();
                foreach (var entry in item.Languages)
                {
                    var versionList = new VersionList();
                    foreach (var v in entry.Versions)
                    {
                        versions.Add(new VersionUri(Language.Parse(entry.Language), Sitecore.Data.Version.Parse(v.Number)));
                    }
                }

                context.Abort();
                return(versions);
            }
            return(base.GetItemVersions(itemDefinition, context));
        }
コード例 #25
0
        public VersionUriList GetItemVersiones([NotNull] ID itemID)
        {
            Assert.ArgumentNotNull(itemID, "itemID");

            var item = this.GetItem(itemID);

            if (item == null)
            {
                return(null);
            }

            var versionUriList = new VersionUriList();
            var versions       = item.Fields.Versioned.SelectMany(lang => lang.Value.Select(ver => new VersionUri(Language.Parse(lang.Key), new Sitecore.Data.Version(ver.Key))));

            foreach (var versionUri in versions)
            {
                versionUriList.Add(versionUri);
            }

            return(versionUriList);
        }
コード例 #26
0
    public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
    {
      var list = new List<VersionUri>();
      var versions = new VersionUriList();

      var item = this.DataStorage().GetFakeItem(itemDefinition.ID);
      if (item == null)
      {
        return versions;
      }

      foreach (var field in item.Fields)
      {
        foreach (var fieldLang in field.Values)
        {
          var language = fieldLang.Key;

          foreach (var fieldVer in fieldLang.Value)
          {
            var version = fieldVer.Key;

            if (list.Any(l => l.Language.Name == language && l.Version.Number == version))
            {
              continue;
            }

            list.Add(new VersionUri(Language.Parse(language), new Version(version)));
          }
        }
      }

      foreach (var version in list)
      {
        versions.Add(version);
      }

      return versions;
    }
コード例 #27
0
        public VersionUriList GetItemVersions()
        {
            if (_versions == null)
            {
                lock (_lock)
                {
                    if (_versions == null)
                    {
                        var languages = LanguageManager.GetLanguages(Factory.GetDatabase(SitecoreConstants.SitecoreMasterDatabaseName)).Distinct();
                        var versions  = new VersionUriList();
                        foreach (var language in languages)
                        {
                            //_log.Log<ContentNodeDataProvider>("Adding language to list of versions: " + language.CultureInfo.Name);
                            versions.Add(language, Version.First);
                        }

                        _versions = versions;
                    }
                }
            }

            return(_versions);
        }
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            Assert.ArgumentNotNull(itemDefinition, "itemDefinition");
            Assert.ArgumentNotNull(context, "context");

            if (context.CurrentResult != null)
            {
                return(null);
            }
            if (itemDefinition.ID == FolderId ||
                ControllerType.GetAllNamespaces().ContainsKey(itemDefinition.ID.ToGuid()) ||
                ControllerType.GetAllControllers().ContainsKey(itemDefinition.ID.ToGuid()) ||
                ControllerAction.GetControllerAction(itemDefinition.ID) != null)
            {
                VersionUriList versionUriList = new VersionUriList();
                foreach (Language language in LanguageManager.GetLanguages(Database))
                {
                    versionUriList.Add(language, Version.First);
                }
                return(versionUriList);
            }
            return(null);
        }
        public override VersionUriList GetItemVersions([CanBeNull] ItemDefinition itemDefinition, [CanBeNull] CallContext context)
        {
            if (itemDefinition == null || context == null)
            {
                return(base.GetItemVersions(itemDefinition, context));
            }

            var item = FindItem(itemDefinition.ID);

            if (item == null)
            {
                return(base.GetItemVersions(itemDefinition, context));
            }

            var list        = new VersionUriList();
            var versionUris = item.Languages.SelectMany(y => y.Versions.Select(x => new VersionUri(Language.Parse(y.Language), new Sitecore.Data.Version(x.Number))));

            foreach (var versionUri in versionUris)
            {
                list.Add(versionUri);
            }

            return(list);
        }
コード例 #30
0
        /// <summary>
        ///     Get a list of all available versions in different languages.
        /// </summary>
        /// <param name="itemDefinition">Used to identify the particular item</param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            if (ItemsById.ContainsKey(itemDefinition.ID) &&
                ItemsById[itemDefinition.ID].Versions != null)
            {
                var versionsList = new List <VersionUri>();
                foreach (SyncVersion version in ItemsById[itemDefinition.ID].Versions)
                {
                    var newVersionUri = new VersionUri(
                        LanguageManager.GetLanguage(version.Language),
                        new Version(version.Version));
                    versionsList.Add(newVersionUri);
                }

                var versions = new VersionUriList();
                foreach (VersionUri version in versionsList)
                {
                    versions.Add(version);
                }

                return(versions);
            }
            return(null);
        }
コード例 #31
0
		public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
		{
			Assert.ArgumentNotNull(itemDefinition, "itemDefinition");

			if (itemDefinition == ItemDefinition.Empty) return null;

			var versions = new VersionUriList();

			var syncItem = SerializedDatabase.GetItem(itemDefinition.ID);

			foreach (var syncVersion in syncItem.Versions)
			{
				versions.Add(Language.Parse(syncVersion.Language), Version.Parse(syncVersion.Version));
			}

			return versions;
		}
コード例 #32
0
        public virtual VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            // return null if not present
            Assert.ArgumentNotNull(itemDefinition, "itemDefinition");

            if (DisableSerialization || DisableTransparentSync || itemDefinition == ItemDefinition.Empty) return null;

            var versions = new VersionUriList();

            var item = GetTargetFromId(itemDefinition.ID);

            if (item == null) return null;

            foreach (var version in item.Versions)
            {
                versions.Add(Language.Parse(version.Language.Name), Sitecore.Data.Version.Parse(version.VersionNumber));
            }

            return versions;
        }
    public override VersionUriList GetItemVersions([CanBeNull] ItemDefinition itemDefinition, [CanBeNull] CallContext context)
    {
      if (itemDefinition == null || context == null)
      {
        return base.GetItemVersions(itemDefinition, context);
      }

      var item = FindItem(itemDefinition.ID);
      if (item == null)
      {
        return base.GetItemVersions(itemDefinition, context);
      }

      var list = new VersionUriList();
      var versionUris = item.Languages.SelectMany(y => y.Versions.Select(x => new VersionUri(Language.Parse(y.Language), new Sitecore.Data.Version(x.Number))));
      foreach (var versionUri in versionUris)
      {
        list.Add(versionUri);
      }

      return list;
    }
コード例 #34
0
 /// <summary>
 /// Get a list of all available versions in different languages.
 /// </summary>
 /// <param name="itemDefinition">Used to identify the particular item</param>
 /// <param name="context"></param>
 /// <returns></returns>
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     Item result = Items.FindOneById(itemDefinition.ID.ToGuid());
     if (result != null && result.FieldValues != null)
     {
         VersionUriList versions = new VersionUriList();
         var versionsList = new List<VersionUri>();
         foreach (FieldValueId fieldValueId in result.FieldValues.Keys.Where(fv => fv.Version.HasValue && fv.Language != null))
         {
             if (versionsList.Where(ver => fieldValueId.Matches(ver)).Count() == 0)
             {
                 VersionUri newVersionUri = new VersionUri(
                     Sitecore.Data.Managers.LanguageManager.GetLanguage(fieldValueId.Language),
                     new Sitecore.Data.Version(fieldValueId.Version.Value));
                 versionsList.Add(newVersionUri);
             }
         }
         foreach (var version in versionsList)
         {
             versions.Add(version);
         }
         return versions;
     }
     return null;
 }
コード例 #35
0
 // This method must return first version for every language to make info appear in content editor.
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     if (CanProcessYouTubeItem(itemDefinition.ID, context))
      {
     VersionUriList versionUriList = new VersionUriList();
     foreach (var language in LanguageManager.GetLanguages(ContentDB))
     {
        versionUriList.Add(language, Sitecore.Data.Version.First);
     }
     context.Abort();
     return versionUriList;
      }
      return base.GetItemVersions(itemDefinition, context);
 }
コード例 #36
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            var versions = new VersionUriList();

            if (itemDefinition == ItemDefinition.Empty)
            {
                return versions;
            }

            var database = GetDatabase(context);
            var syncItem = database.GetItem(itemDefinition.ID.ToString());

            foreach (var syncVersion in syncItem.Versions)
            {
                versions.Add(Language.Parse(syncVersion.Language), Version.Parse(syncVersion.Version));
            }

            return versions;
        }
コード例 #37
0
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            // TODO: Move to provider!
            // TODO: Use prefecthing like the old one?
            var result = Provider.GetItem(itemDefinition.ID.ToGuid());

            if (result != null && result.FieldValues != null)
            {
                var versions = new VersionUriList();
                var versionsList = new List<VersionUri>();

                foreach (var fieldKey in result.FieldValues.Where(field => field.Version.HasValue && field.Language != null))
                {
                    if (versionsList.Any(ver => fieldKey.Matches(ver)))
                    {
                        continue;
                    }

                    var newVersionUri = new VersionUri(LanguageManager.GetLanguage(fieldKey.Language), new Version(fieldKey.Version.Value));

                    versionsList.Add(newVersionUri);
                }

                foreach (var version in versionsList)
                {
                    versions.Add(version);
                }

                return versions;
            }

            return null;
        }
コード例 #38
0
        /// <summary>
        /// Get a list of all available versions in different languages.
        /// </summary>
        /// <param name="itemDefinition">Used to identify the particular item</param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            if (ItemsById.ContainsKey(itemDefinition.ID)
                && ItemsById[itemDefinition.ID].Versions != null)
            {
                List<VersionUri> versionsList = new List<VersionUri>();
                foreach (SyncVersion version in ItemsById[itemDefinition.ID].Versions)
                {
                    VersionUri newVersionUri = new VersionUri(
                            Sitecore.Data.Managers.LanguageManager.GetLanguage(version.Language),
                            new Sitecore.Data.Version(version.Version));
                    versionsList.Add(newVersionUri);
                }

                VersionUriList versions = new VersionUriList();
                foreach (VersionUri version in versionsList)
                {
                    versions.Add(version);
                }

                return versions;
            }
            return null;
        }
コード例 #39
0
        public override Collections.VersionUriList GetItemVersions(Data.ItemDefinition itemDefinition, CallContext context)
        {
            XPathNavigator element = (XPathNavigator)courseCache[itemDefinition.ID];// CourseData.SelectSingleNode(string.Format("//course[@id='{0}']", itemDefinition.ID.ToString()));
            if (element != null)
            {
                context.Abort();
                VersionUriList versions = new VersionUriList();
                LanguageCollection languages = LanguageManager.GetLanguages(this.Database);
                foreach (Language language in languages)
                {
                    versions.Add(language, new Sitecore.Data.Version(1));
                }

                return versions;
            }

            return null;
        }
コード例 #40
0
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     var section = SectionTable.FirstOrDefault(x => x.SectionId == itemDefinition.ID);
     var field = FieldTable.FirstOrDefault(x=>x.FieldId == itemDefinition.ID);
     if (field != null || section != null)
     {
         //return in every available language
         var languages = context.DataManager.Database.GetLanguages();
         if (languages == null)
         {
             return null;
         }
         var list = new VersionUriList();
         foreach (Language language in languages)
         {
             list.Add(language, Version.First);
         }
         return list;
     }
     return base.GetItemVersions(itemDefinition, context);
 }
コード例 #41
0
 public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
 {
     if (Items.ContainsKey(itemDefinition.ID))
     {
         VersionUriList versionUriList = new VersionUriList();
         versionUriList.Add(LanguageManager.DefaultLanguage, Version.Parse(1));
         return versionUriList;
     }
     return null;
 }
コード例 #42
0
 public void LanguageSaved(Language language)
 {
     _versions = null;
 }
コード例 #43
0
        // If our repository implemented language versions, this is where you'd manage it.
        // Some Product Inventory Management (PIM) system can version, so we could manage
        // that here. For this demo, we're assuming the products we have are suitable for
        // every version.
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            if (this.canProcessItem(itemDefinition.ID))
            {
                Trace.WriteLine(String.Format("GetItemVersions({0}, {1})", itemDefinition, context), "ProductDataProvider");

                var versions = new VersionUriList();
                versions.Add(Language.Current, Sitecore.Data.Version.First);

                context.Abort();
                return versions;
            }
            return base.GetItemVersions(itemDefinition, context);
        }
コード例 #44
0
    public VersionUriList GetItemVersiones([NotNull] ID itemID)
    {
      Assert.ArgumentNotNull(itemID, "itemID");

      var item = this.GetItem(itemID);
      if (item == null)
      {
        return null;
      }

      var versionUriList = new VersionUriList();
      var versions = item.Fields.Versioned.SelectMany(lang => lang.Value.Select(ver => new VersionUri(Language.Parse(lang.Key), new Sitecore.Data.Version(ver.Key))));
      foreach (var versionUri in versions)
      {
        versionUriList.Add(versionUri);
      }

      return versionUriList;
    }
コード例 #45
0
    public VersionUriList GetItemVersions(ID itemID)
    {
      Assert.ArgumentNotNull(itemID, nameof(itemID));

      var item = this.GetItem(itemID);
      if (item == null)
      {
        return null;
      }

      var versionUriList = new VersionUriList();

      Lock.EnterReadLock();
      try
      {
        foreach (var lang in item.Fields.Versioned)
        {
          var language = Language.Parse(lang.Key);
          var versions = lang.Value;

          foreach (var versionNumber in versions.Keys)
          {
            var version = new Sitecore.Data.Version(versionNumber);
            var versionUri = new VersionUri(language, version);

            versionUriList.Add(versionUri);
          }
        }
      }
      finally
      {
        Lock.ExitReadLock();
      }

      return versionUriList;
    }
        public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context)
        {
            Assert.ArgumentNotNull(itemDefinition, "itemDefinition");
            Assert.ArgumentNotNull(context, "context");

            if (GetSqlVersion(itemDefinition.ID, context, GetSqlProvider(Database)) != null)
                return null;
            if (itemDefinition.ID == FolderId ||
                ControllerType.GetAllNamespaces().ContainsKey(itemDefinition.ID.ToGuid())
                || ControllerType.GetAllControllers().ContainsKey(itemDefinition.ID.ToGuid())
                || ControllerAction.GetControllerAction(itemDefinition.ID) != null)
            {

                VersionUriList versionUriList = new VersionUriList();
                foreach (Language language in LanguageManager.GetLanguages(Database))
                    versionUriList.Add(language, Version.First);
                return versionUriList;
            }
            return null;
        }