Exemplo n.º 1
0
        public virtual async Task <GetEntityResponse <T> > GetAsync <T>(GetEntityRequest request, CancellationToken cancellationToken = default) where T : class
        {
            var httpRequest = GetHttpRequestFactory.Create(request);

            using (var res = await SendAsync(httpRequest, cancellationToken).ForAwait())
            {
                return(await EntityResponseFactory.CreateAsync <GetEntityResponse <T>, T>(res).ForAwait());
            }
        }
Exemplo n.º 2
0
        public Entities(IConnection connection, EntityResponseFactory entityResponseFactory, ISerializer serializer, IEntityReflector entityReflector)
        {
            Ensure.That(connection, "connection").IsNotNull();
            Ensure.That(entityResponseFactory, "entityResponseFactory").IsNotNull();
            Ensure.That(serializer, "serializer").IsNotNull();
            Ensure.That(entityReflector, "entityReflector").IsNotNull();

            Connection            = connection;
            EntityResponseFactory = entityResponseFactory;
            Serializer            = serializer;
            EntityReflector       = entityReflector;
        }
Exemplo n.º 3
0
        public Entities(IDbClientConnection connection, ISerializer serializer, IEntityReflector entityReflector)
            : base(connection)
        {
            Ensure.That(serializer, "serializer").IsNotNull();
            Ensure.That(entityReflector, "entityReflector").IsNotNull();

            Serializer               = serializer;
            Reflector                = entityReflector;
            EntityResponseFactory    = new EntityResponseFactory(serializer, Reflector);
            GetHttpRequestFactory    = new GetEntityHttpRequestFactory();
            PostHttpRequestFactory   = new PostEntityHttpRequestFactory(Serializer);
            PutHttpRequestFactory    = new PutEntityHttpRequestFactory(Reflector, Serializer);
            DeleteHttpRequestFactory = new DeleteEntityHttpRequestFactory(Reflector);
        }
Exemplo n.º 4
0
        protected virtual async Task <EntityResponse <T> > ProcessEntityResponseAsync <T>(DeleteEntityRequest <T> request, HttpResponseMessage response)
            where T : class
        {
            var entityResponse = await EntityResponseFactory.CreateAsync <T>(response).ForAwait();

            entityResponse.Content = request.Entity;

            if (entityResponse.IsSuccess)
            {
                Reflector.RevMember.SetValueTo(entityResponse.Content, entityResponse.Rev);
            }

            return(entityResponse);
        }
Exemplo n.º 5
0
        public Entities(IDbConnection connection, ISerializer serializer, IEntityReflector entityReflector)
            : base(connection)
        {
            Ensure.Any.IsNotNull(serializer, nameof(serializer));
            Ensure.Any.IsNotNull(entityReflector, nameof(entityReflector));

            Serializer               = serializer;
            Reflector                = entityReflector;
            EntityResponseFactory    = new EntityResponseFactory(serializer, Reflector);
            GetHttpRequestFactory    = new GetEntityHttpRequestFactory();
            PostHttpRequestFactory   = new PostEntityHttpRequestFactory(Serializer);
            PutHttpRequestFactory    = new PutEntityHttpRequestFactory(Reflector, Serializer);
            DeleteHttpRequestFactory = new DeleteEntityHttpRequestFactory(Reflector);
            PurgeHttpRequestFactory  = new PurgeEntityHttpRequestFactory(Reflector, Serializer);
            PurgeResponseFactory     = new PurgeResponseFactory(Serializer);
        }
Exemplo n.º 6
0
        protected virtual async Task <EntityResponse <T> > ProcessEntityResponseAsync <T>(PutEntityRequest <T> request, HttpResponseMessage response)
            where T : class
        {
            var entityResponse = await EntityResponseFactory.CreateAsync <T>(response).ForAwait();

            entityResponse.Content = request.Entity;

            if (!string.IsNullOrWhiteSpace(request.ExplicitId))
            {
                Reflector.IdMember.SetValueTo(entityResponse.Content, entityResponse.Id);
            }

            if (entityResponse.IsSuccess)
            {
                Reflector.RevMember.SetValueTo(entityResponse.Content, entityResponse.Rev);
            }

            return(entityResponse);
        }