示例#1
0
 /// <inheritdoc />
 public Task <IDeleteResponse> DeleteAsync(IDeleteRequest deleteRequest)
 {
     return(this.Dispatcher.DispatchAsync <IDeleteRequest, DeleteRequestParameters, DeleteResponse, IDeleteResponse>(
                deleteRequest,
                (p, d) => this.RawDispatch.DeleteDispatchAsync <DeleteResponse>(p)
                ));
 }
示例#2
0
        /// <summary>
        /// Delete a record.
        /// </summary>
        /// <param name="req">The delete record request.</param>
        /// <returns></returns>
        public override async Task <IResponse> SendAsync(IDeleteRequest req)
        {
            if (string.IsNullOrEmpty(req.Layout))
            {
                throw new ArgumentException("Layout is required on the request.");
            }
            if (req.RecordId == 0)
            {
                throw new ArgumentException("RecordId is required on the request and must not be zero.");
            }

            var response = await ExecuteRequestAsync(req);

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                return(new BaseResponse("404", "Error"));
            }

            try
            {
                var responseJson = await response.Content.ReadAsStringAsync();

                var responseObject = JsonConvert.DeserializeObject <BaseResponse>(responseJson);
                return(responseObject);
            }
            catch (Exception ex)
            {
                // something bad happened. TODO: improve non-OK response handling
                throw new Exception($"Non-OK Response: Status = {response.StatusCode}.", ex);
            }
        }
示例#3
0
 /// <inheritdoc />
 public IDeleteResponse Delete(IDeleteRequest deleteRequest)
 {
     return(this.Dispatcher.Dispatch <IDeleteRequest, DeleteRequestParameters, DeleteResponse>(
                deleteRequest,
                (p, d) => this.RawDispatch.DeleteDispatch <DeleteResponse>(p)
                ));
 }
示例#4
0
        /// <summary>
        /// Executes a delete request.
        /// </summary>
        public override async Task <IResponse> SendAsync(IDeleteRequest req)
        {
            HttpResponseMessage response = await ExecuteRequestAsync(req);

            if (response.IsSuccessStatusCode)
            {
                // process response data return OK
                var resp = new CreateResponse
                {
                    Messages = new List <ResponseMessage> {
                        new ResponseMessage {
                            Code = "", Message = "OK"
                        }
                    }
                };
                return(resp);
            }

            throw new Exception("Unable to complete request");
        }
 public DeleteResponse Delete(IDeleteRequest request)
 {
     throw new NotImplementedException();
 }
        public DeleteResponse RunDeleteRequest(IDeleteRequest request)
        {
            _Data.WebShopRecordSet = DataHelper.DeleteRecords(_Data.WebShopRecordSet, request.RecordSet);

            return(new DeleteResponse(request));
        }
示例#7
0
 /// <summary>
 /// Helper For Getting Raw Responses from Data API.
 /// </summary>
 public Task <HttpResponseMessage> ExecuteRequestAsync(IDeleteRequest req) => ExecuteRequestAsync(HttpMethod.Delete, DeleteEndpoint(req.Layout, req.RecordId), req);
示例#8
0
 /// <inheritdoc />
 public DeleteResponse Delete(IDeleteRequest request) =>
 DoRequest <IDeleteRequest, DeleteResponse>(request, request.RequestParameters);
 /// <inheritdoc/>
 public Task <IDeleteResponse> DeleteAsync(IDeleteRequest request, CancellationToken cancellationToken = default(CancellationToken)) =>
 this.Dispatcher.DispatchAsync <IDeleteRequest, DeleteRequestParameters, DeleteResponse, IDeleteResponse>(
     request,
     cancellationToken,
     (p, d, c) => this.LowLevelDispatch.DeleteDispatchAsync <DeleteResponse>(p, c)
     );
 /// <inheritdoc/>
 public IDeleteResponse Delete(IDeleteRequest request) =>
 this.Dispatcher.Dispatch <IDeleteRequest, DeleteRequestParameters, DeleteResponse>(
     request,
     (p, d) => this.LowLevelDispatch.DeleteDispatch <DeleteResponse>(p)
     );
示例#11
0
 public static void Update(ElasticsearchPathInfo <DeleteRequestParameters> pathInfo, IDeleteRequest request)
 {
     pathInfo.HttpMethod = PathInfoHttpMethod.DELETE;
 }
 public DeleteWithDeleteRequestAsyncAction(IDeleteRequest indexRequest)
 {
     _indexRequest = indexRequest;
 }
示例#13
0
 /// <inheritdoc/>
 public Task <IDeleteResponse> DeleteAsync(IDeleteRequest request) =>
 this.Dispatcher.DispatchAsync <IDeleteRequest, DeleteRequestParameters, DeleteResponse, IDeleteResponse>(
     request,
     (p, d) => this.LowLevelDispatch.DeleteDispatchAsync <DeleteResponse>(p)
     );
示例#14
0
 /// <inheritdoc />
 public Task <DeleteResponse> DeleteAsync(IDeleteRequest request, CancellationToken ct = default) =>
 DoRequestAsync <IDeleteRequest, DeleteResponse>(request, request.RequestParameters, ct);
 public Task <DeleteResponse> DeleteAsync(IDeleteRequest request, CancellationToken ct = new CancellationToken())
 {
     throw new NotImplementedException();
 }
示例#16
0
 /// <summary>
 /// Send a Delete Record request to the FileMaker API.
 /// </summary>
 public abstract Task <IResponse> SendAsync(IDeleteRequest req);
示例#17
0
 public DeleteResponse(IDeleteRequest request)
     : base(Communication.RequestTypeEnum.Delete)
 {
     Request = request;
 }