コード例 #1
0
 public Task <T> GetFormInstanceAsync <T>(string idOrName, Guid instanceId, FormKeyOption keyOption = FormKeyOption.Entity, bool containsAuthority = false)
 {
     return(ApiHandlerWapper.TryCommonApiAsync(token => formRestAPI.GetFormInstanceAsync <T>(token, idOrName, instanceId, keyOption.ToString(), containsAuthority), tokenService.AccessTokenGetter));
 }
コード例 #2
0
        public Task <T> AddFormInstanceAsync <T>(string idOrName, object newInstance, FormKeyOption keyOption = FormKeyOption.Entity, bool containsAuthority = true)
        {
            var postData = new Dictionary <string, string>();

            postData.Add("jsonFormData", JsonConvert.SerializeObject(newInstance));
            postData.Add("keyOption", keyOption.ToString());
            return(ApiHandlerWapper.TryCommonApiAsync(token => formRestAPI.AddFormInstanceAsync <T>(token, idOrName, postData, containsAuthority), tokenService.AccessTokenGetter));
        }
コード例 #3
0
        //private void buildFormAPI()
        //{
        //    HttpMessageHandler innerHandler = new AuthenticatedHttpClientHandler(requestSign, null);
        //    innerHandler = new HttpHeaderMessageHandler(innerHandler);

        //    var client = new HttpClient(innerHandler ?? new HttpClientHandler()) { BaseAddress = new Uri(endPoint) };
        //    formRestAPI = RestService.For<IFormRestAPI>(client);
        //}

        //private DDYSigner signer = new DDYSigner();
        //private Task requestSign(HttpRequestMessage request)
        //{
        //    signer.Sign(request, credential.AccessKeyId, credential.AccessSecret);
        //    return Task.CompletedTask;
        //}

        public Task <SetResult <T> > GetFormInstancesAsync <T>(string idOrName, IEnumerable <string> fields = null, IEnumerable <QueryCondition> filter = null, int start = 0, int limit = 20, ISort sort = null, FormKeyOption keyOption = FormKeyOption.Entity, bool count = false)
        {
            return(ApiHandlerWapper.TryCommonApiAsync(async token =>
            {
                if (start < 0 || start > int.MaxValue)
                {
                    throw new ArgumentException(nameof(start));
                }
                if (limit < 0 || limit > int.MaxValue)
                {
                    throw new ArgumentException(nameof(limit));
                }
                var sortField = "";
                if (sort != null)
                {
                    sortField = sort.PropertyName;
                    if (!sort.Ascending)
                    {
                        sortField = "-" + sortField;
                    }
                }
                var fieldsStr = fields != null && fields.Count() > 0 ? string.Join(",", fields) : null;
                var filterStr = filter != null && filter.Count() > 0 ? JsonConvert.SerializeObject(filter.ToQueryConditionRequests()) : null;

                var httpResponseMessage = await formRestAPI.GetFormInstancesAsync(token, idOrName, fieldsStr, filterStr, start, limit, sortField, keyOption.ToString(), count).ConfigureAwait(false);

                return await generateSetResult <T>(start, limit, count, httpResponseMessage);
            }, tokenService.AccessTokenGetter));
        }