private List <FieldDataItem> GetData(string itemId, string fieldName, string sectionName, string version, string path, string databaseName) { List <FieldDataItem> list = new List <FieldDataItem>(); var singleItem = new FieldDataItem() { FieldName = fieldName, Value = null }; using (new Sitecore.SecurityModel.SecurityDisabler()) { if (!string.IsNullOrWhiteSpace(path)) { GetAllValuesByPath(path, databaseName).ForEach(v => list.Add( new FieldDataItem() { FieldName = v.Key, Value = v.Value, })); } else if (string.IsNullOrWhiteSpace(fieldName) && string.IsNullOrWhiteSpace(sectionName) && string.IsNullOrWhiteSpace(version)) { GetAllValues(itemId, databaseName).ForEach(v => list.Add( new FieldDataItem() { FieldName = v.Key, Value = v.Value })); } else if (string.IsNullOrWhiteSpace(version) && string.IsNullOrWhiteSpace(sectionName)) { var pair = GetValueForField(itemId, fieldName, databaseName); singleItem.Value = pair.Value; list.Add(singleItem); } else { var item = string.IsNullOrWhiteSpace(version) ? ItemHelper.GetItemById(itemId, databaseName) : ItemHelper.GetItemByIdAndVersion(itemId, version, databaseName); var value = ItemHelper.GetFieldValue(item, sectionName, fieldName); singleItem.Value = value; list.Add(singleItem); } } return(list); }