Sitecore.FakeDb.Data.DataProviders.FakeDataProvider.GetItemVersions C# (CSharp) Method

GetItemVersions() public method

public GetItemVersions ( ItemDefinition itemDefinition, Sitecore.Data.DataProviders.CallContext context ) : VersionUriList
itemDefinition ItemDefinition
context Sitecore.Data.DataProviders.CallContext
return VersionUriList
    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;
    }