Exemplo n.º 1
0
        /*
         * public static void SetUpRevision(this IRevisionAccessor revisionAccessor, Type type, string fieldName)
         * {
         *  if (fieldName == null) throw new ArgumentNullException(nameof(fieldName));
         *  FieldMeta fieldInfo = type.GetTypeMeta().Fields.FirstOrDefault(x => x.Name == fieldName);
         *  revisionAccessor.SetRevision(type, fieldInfo);
         * }
         */

        /// <summary>
        /// Set the Revision directly against a Type
        /// </summary>
        /// <typeparam name="T">the tpye which to set the Revision against</typeparam>
        /// <param name="field">Revision Field</param>
        public static void SetUpRevision <T>(this IRevisionAccessor revisionAccessor, FieldInfo field)
        {
            if (field == null)
            {
                throw new ArgumentNullException(nameof(field));
            }
            revisionAccessor.SetUpRevision(typeof(T), field);
        }
Exemplo n.º 2
0
 public LoadPipeline(CouchDb couchDb,
                     IIdManager idManager,
                     IIdAccessor idAccessor,
                     IRevisionAccessor revisionAccessor)
 {
     _couchDb          = couchDb;
     _idManager        = idManager;
     _idAccessor       = idAccessor;
     _revisionAccessor = revisionAccessor;
 }
Exemplo n.º 3
0
        public Serializer(IIdAccessor idAccessor, IRevisionAccessor revisionAccessor)
        {
            var factory = new SerializerSettingsFactory();

            factory.SetUpDocumentContractResolver(idAccessor, revisionAccessor);
            var settings = factory.Create();

            _settings       = settings;
            _jsonSerializer = JsonSerializer.Create(_settings);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Set the Revision directly against a Type
        /// </summary>
        /// <typeparam name="T">the tpye which to set the Revision against</typeparam>
        /// <param name="fieldName">name of the Revision field</param>
        public static void SetUpRevision <T>(this IRevisionAccessor revisionAccessor, string fieldName)
        {
            if (fieldName == null)
            {
                throw new ArgumentNullException(nameof(fieldName));
            }
            FieldMeta fieldInfo = typeof(T).GetTypeMeta().Fields.FirstOrDefault(x => x.Name == fieldName);

            revisionAccessor.SetUpRevision(typeof(T), fieldInfo?.FieldInfo);
        }
Exemplo n.º 5
0
 public CommitPipeline(
     CouchDb couchDb,
     IIdManager idManager,
     IRevisionAccessor revisionAccessor,
     ITransactionCoordinator transactionCoordinator)
 {
     _couchDb                = couchDb;
     _idManager              = idManager;
     _revisionAccessor       = revisionAccessor;
     _transactionCoordinator = transactionCoordinator;
 }
Exemplo n.º 6
0
        /// <summary>
        /// Set the Revision directly against a Type
        /// </summary>
        /// <typeparam name="T">the tpye which to set the Revision against</typeparam>
        /// <param name="property">The Revision property, this will then use the Auto back field</param>
        public static void SetUpRevision <T>(this IRevisionAccessor revisionAccessor, Expression <Func <T, object> > property)
        {
            if (property == null)
            {
                throw new ArgumentNullException(nameof(property));
            }
            string name             = ((MemberExpression)property.Body).Member.Name;
            string backingFieldName = GetPropertyBackingFieldName(name);

            SetUpRevision <T>(revisionAccessor, backingFieldName);
        }
        /// <summary>
        /// create an instance of the contract resolver to handle Counch DB documents
        /// </summary>
        public DocumentContractResolver(IIdAccessor idAccessor, IRevisionAccessor revisionAccessor) : base()
        {
            _baseOverride = new BaseOverride(idAccessor, revisionAccessor);

            var naming = new LocalCamelCaseNamingStrategy
            {
                OverrideSpecifiedNames = true,
                ProcessDictionaryKeys  = true
            };

            NamingStrategy = naming;
        }
 public TransactionCoordinator(CouchDb couchDb, IIdAccessor idAccessor, IRevisionAccessor revisionAccessor)
 {
     _couchDb          = couchDb;
     _idAccessor       = idAccessor;
     _revisionAccessor = revisionAccessor;
 }
Exemplo n.º 9
0
 public CommitToDatabaseAction(CouchDb couchDb, IRevisionAccessor revisionAccessor)
 {
     _couchDb          = couchDb;
     _revisionAccessor = revisionAccessor;
 }
 public void SetUpDocumentContractResolver(IIdAccessor idAccessor, IRevisionAccessor revisionAccessor)
 {
     ContractResolver = new DocumentContractResolver(idAccessor, revisionAccessor);
 }
Exemplo n.º 11
0
 /// <summary>
 /// create the base override, to support the Id and Revision
 /// </summary>
 /// <param name="idAccessor">the idaccessor use to find the Id</param>
 /// <param name="revisionAccessor">the revisionaccessor is used to find the revision</param>
 public BaseOverride(IIdAccessor idAccessor, IRevisionAccessor revisionAccessor)
 {
     _idAccessor       = idAccessor;
     _revisionAccessor = revisionAccessor;
 }