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;
}