private void AddSharedFieldsFromRepository(FieldDataTransferObject result)
        {
            var repository = ObjectFactory.Instance.Resolve <IRepository <SharedField> >();
            var fields     = repository.Select().ToList();

            fields.ForEach(x => result.SharedFields.Add(new SharedFieldDataTransferObject {
                FieldId = x.FieldId, ItemId = x.ItemId, Value = x.FieldValue
            }));
        }
        private void AddVersionedFieldsFromRepository(FieldDataTransferObject result)
        {
            var repository = ObjectFactory.Instance.Resolve <IRepository <VersionedField> >();
            var fields     = repository.Select().ToList();

            fields.ForEach(x => result.VersionedFields.Add(new VersionedFieldDataTransferObject {
                FieldId = x.FieldId, ItemId = x.ItemId, Language = x.Language, Version = x.Version, Value = x.FieldValue
            }));
        }
        public FieldDataTransferObject ReadAllFields()
        {
            var result = new FieldDataTransferObject();

            AddSharedFieldsFromRepository(result);
            AddUnversionedFieldsFromRepository(result);
            AddVersionedFieldsFromRepository(result);

            return(result);
        }