Esempio n. 1
0
        public static async Task <HttpData <T[]> > GetDataAsync <T>(this HttpApiClient client,
                                                                    string library, string method, object[] values)
        {
            T[] result             = null;
            HttpData <string> data = await client.GetRawDataAsync(library, method, values);

            if (CheckDataContent(data))
            {
                DataDto <T> dto = null;
                try
                {
                    dto = JsonConvert.DeserializeObject <DataDto <T> >(data.Content);
                }
                catch (Exception ex)
                {
                    client.OnErrorOccured(new HttpErrorEventArgs(
                                              ex, data.RequestUri.ToString(), HttpVerb.Get, "Invalid response format. JSON expected."));
                    data.SetSuccessFlag(false);
                }

                if (dto != null && dto.Data != null)
                {
                    result = dto.Data;
                }
            }

            return(new HttpData <T[]>(data, result));
        }