コード例 #1
0
        public virtual async Task <Result> CreateAsync(Y body)
        {
            Result           returnresult = new Result();
            DataClientResult result       = await client.PostDataAsJsonAsync <Y>(this.Connection.ApiUrl + Entity, body);

            if (result.StatusCode == System.Net.HttpStatusCode.Accepted)
            {
                var job = JsonConvert.DeserializeObject <Job>(result.Content);
                returnresult.Job = job;
                return(returnresult);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                returnresult.Code = result.StatusCode;
                return(returnresult);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.Conflict)
            {
                returnresult.Error = JsonConvert.DeserializeObject <ErrorDetails>(result.Content);
                return(returnresult);
            }

            returnresult.Code = result.StatusCode;
            return(returnresult);
        }
コード例 #2
0
        public virtual async Task <Result> UpdateAsync(Guid Id, Z body)
        {
            Result           returnresult = new Result();
            DataClientResult result       = await client.PutDataAsJsonAsync <Z>(new Uri(this.Connection.ApiUrl, Entity + "/" + Id.ToString()), body);

            if (result.StatusCode == System.Net.HttpStatusCode.Accepted)
            {
                var job = JsonConvert.DeserializeObject <Job>(result.Content);
                returnresult.Job = job;
                return(returnresult);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                returnresult.Code = result.StatusCode;
                return(returnresult);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.Conflict)
            {
                returnresult.Error = JsonConvert.DeserializeObject <ErrorDetails>(result.Content);
                return(returnresult);
            }

            returnresult.Code = result.StatusCode;
            return(returnresult);
        }
コード例 #3
0
        public virtual async Task <Result> DeleteAsync(Guid Id, bool Wait)
        {
            Result           returnresult = new Result();
            DataClientResult result       = await client.DeleteDataAsJsonAsync(new Uri(this.Connection.ApiUrl, this.Connection.TenantId.ToString() + "/" + Entity + "/" + Id.ToString()));

            Job job;

            if (result.StatusCode == System.Net.HttpStatusCode.Accepted)
            {
                job = JsonConvert.DeserializeObject <Job>(result.Content);

                if (Wait)
                {
                    JobService jobService = new JobService(this.Connection);

                    Task <CoreLibrary.Models.Result <Job> > callTask;

                    do
                    {
                        callTask = Task.Run(() => jobService.GetAsync(job.Id));

                        callTask.Wait();
                        job = callTask.Result.Object;

                        Thread.Sleep(new TimeSpan(0, 0, 5));
                    }while (job.State != "failed" && job.State != "succeeded");

                    returnresult.Job = job;
                    return(returnresult);
                }
                else
                {
                    returnresult.Job = job;
                    return(returnresult);
                }
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                returnresult.Code = result.StatusCode;
                return(returnresult);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.Conflict)
            {
                returnresult.Error = JsonConvert.DeserializeObject <ErrorDetails>(result.Content);
                return(returnresult);
            }

            returnresult.Code = result.StatusCode;
            return(returnresult);
        }
コード例 #4
0
        public async Task <Job> ActionAsync(string Id, ActionParameter body)
        {
            DataClientResult result = await client.PostDataAsJsonAsync <ActionParameter>(this.Connection.ApiUrl + this.Connection.TenantId.ToString() + "/" + Entity + "/" + Id + "/actions", body);

            if (result.StatusCode == System.Net.HttpStatusCode.Accepted)
            {
                var job = JsonConvert.DeserializeObject <Job>(result.Content);
                return(job);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
        public async Task <bool> ActionAsync(string email, ActionParameter body)
        {
            DataClientResult result = await client.PostDataAsJsonAsync <ActionParameter>(this.Connection.ApiUrl + Entity + "/" + email + "/actions", body);

            return(result.StatusCode == System.Net.HttpStatusCode.Accepted);
        }