Example #1
0
        public async Task <T> PerformAsync <T>(Method paramMethod, Object paramObject) where T : new()
        {
            RestClient localClient = RestClientHelper.GetDefaultRestClient(new Uri(TerodoViewApiBase.UrlEndpoint));

            localClient.AddDefaultHeaders();
            if (String.IsNullOrEmpty(TerodoViewApiBase.Token?.token))
            {
                await(new TerodoViewApiToken()).GetTokenAsync();
            }

            RestRequest localRequest = RestClientHelper.GetDefaultRestRequest(Resource, paramMethod, paramObject);

            localRequest.AddAuthencationHeaders();

            try
            {
                IRestResponse localResponse = await RestClientBase.ExecuteCallAsync(localClient, localRequest);

                return(JsonConvert.DeserializeObject <T>(localResponse.Content, RestClientHelper.DefaultJsonSerializerSettings));
            }
            finally
            {
                localClient  = null;
                localRequest = null;
            }
        }