示例#1
0
        public Task <T> CreateAsync(T entity)
        {
            entity.Id = Guid.NewGuid();
            var request = GraphQlQueryBuilder.BuildCreate(CreateQuery, Fields, entity);

            return(MutateAsync(request));
        }
示例#2
0
        public async Task <ICollection <T> > GetAllAsync()
        {
            var(name, request) = GraphQlQueryBuilder.BuildGetAllQuery <T>(Fields);
            var client = await _factoryAsync.Create();

            var res = await client.SendQueryAsync(request);

            return(_extensions.ExtGetDataFieldAs2 <T>(res, name).ToList());
        }
示例#3
0
        public async Task <T> GetOneAsync(Guid key)
        {
            var(name, request) = GraphQlQueryBuilder.BuildGetOne <T>(Fields, key);
            var client = await _factoryAsync.Create();

            var res = await client.SendQueryAsync(request);

            return(_extensions.ExtGetDataFieldAs <T>(res, name));
        }
示例#4
0
        public Task <T> UpdateAsync(T entity)
        {
            var request = GraphQlQueryBuilder.BuildUpdate(UpdateQuery, Fields, entity);

            return(MutateAsync(request));
        }
 /// <summary>
 /// Executes the request.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="query">The query.</param>
 /// <param name="cancellationToken">The cancellation token.</param>
 /// <returns></returns>
 public Task <T> ExecuteAsync <T>(GraphQlQueryBuilder query, CancellationToken cancellationToken = default)
 {
     return(this.requestExecutor.PostAsync <T>(this.options.BaseUrl, "/graphql", query, this.options.Credentials, cancellationToken));
 }