public ResponseCollection <User> GetAssignedAssets(ICommonEndpointModel user) { string response = this.ReqManager.Get(string.Format("{0}/{1}/assets", this.EndPoint, user.Id)); var results = JsonConvert.DeserializeObject <ResponseCollection <User> >(response); return(results); }
public ResponseCollection <StatusLabel> GetAssignedAssets(ICommonEndpointModel statusLabel) { string response = _reqManager.Get(string.Format("{0}/{1}/assetlist", _endPoint, statusLabel.Id)); ResponseCollection <StatusLabel> results = JsonConvert.DeserializeObject <ResponseCollection <StatusLabel> >(response); return(results); }
public IRequestResponse Checkin(ICommonEndpointModel item) { string response = this.ReqManager.Post(string.Format("{0}/{1}/checkin", this.EndPoint, item.Id), item); var result = JsonConvert.DeserializeObject <RequestResponse>(response); return(result); }
public void DeserializeStatusLicense_ValidObject_ReturnAsset() { string obj = File.ReadAllText(@"..\..\TestObjs\license.json"); ICommonEndpointModel result = JsonConvert.DeserializeObject <ICommonEndpointModel>(obj, new DetectJsonObjectType()); Assert.IsInstanceOfType(result, typeof(License)); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JToken token = JToken.Load(reader); if (token.HasValues == false) { return(null); } if (token.Type == JTokenType.Object) { return(ResponsePayloadConverter.DetectObjectType(token)); } if (token.Type == JTokenType.Array) { List <ICommonEndpointModel> final = new List <ICommonEndpointModel>(); foreach (JToken item in token) { ICommonEndpointModel result = ResponsePayloadConverter.DetectObjectType(item); if (result != null) { final.Add(result); } } return(final); } return(null); }
public IRequestResponse Update(ICommonEndpointModel toUpdate) { IRequestResponse result; string response = _reqManager.Put(string.Format("{0}/{1}", _endPoint, toUpdate.Id), toUpdate); result = JsonConvert.DeserializeObject <RequestResponse>(response); return(result); }
public IRequestResponse Checkout(ICommonEndpointModel item) { IRequestResponse result; string response = _reqManager.Post(string.Format("{0}/{1}/checkout", _endPoint, item.Id), item); result = JsonConvert.DeserializeObject <RequestResponse>(response); return(result); }
/// <summary> /// Creates a new object from the provided CommonResponseObject /// </summary> /// <param name="toCreate"></param> /// <returns></returns> public IRequestResponse Create(ICommonEndpointModel toCreate) { IRequestResponse response; string res = _reqManager.Post(_endPoint, toCreate); response = JsonConvert.DeserializeObject <RequestResponse>(res); return(response); }
public string Put(string path, ICommonEndpointModel item) { CheckApiTokenAndUrl(); HttpResponseMessage response = Client.PutAsync(path, BuildQueryString(item)).Result; string result = null; if (response.IsSuccessStatusCode) { result = response.Content.ReadAsStringAsync().Result; } return(result); }
public string Post(string path, ICommonEndpointModel item) { Console.WriteLine("Posting With Async"); CheckApiTokenAndUrl(); var response = Task.Run(() => Client.PostAsync(path, BuildQueryString(item))).Result; string result = null; if (response.IsSuccessStatusCode) { result = response.Content.ReadAsStringAsync().Result; } return(result); }
public string Post(string path, ICommonEndpointModel item) { CheckApiTokenAndUrl(); RestRequest req = new RestRequest(Method.POST); req.Resource = path; Dictionary <string, string> parameters = item.BuildQueryString(); foreach (KeyValuePair <string, string> kvp in parameters) { req.AddParameter(kvp.Key, kvp.Value); } // TODO: Add error checking IRestResponse res = Client.Execute(req); return(res.Content); }
public string Post(string path, ICommonEndpointModel item) { CheckApiTokenAndUrl(); var req = new RestRequest(Method.POST) { Resource = path }; var parameters = this.QueryParameterBuilder.GetParameters(item); foreach (var kvp in parameters) { req.AddParameter(kvp.Key, kvp.Value); } // TODO: Add error checking var res = _client.Execute(req); return(res.Content); }
private FormUrlEncodedContent BuildQueryString(ICommonEndpointModel item) { var values = this.QueryParameterBuilder.GetParameters(item); // If it's an asset check if there's a checkout request. Also process custom fields var asset = item as Asset; if (asset != null) { // If an asset as this set we know it needs to be check out. var assetCheckoutRequest = asset.CheckoutRequest; if (assetCheckoutRequest != null) { var additionalParameters = this.QueryParameterBuilder.GetParameters(asset.CheckoutRequest); foreach (var kvp in additionalParameters) { values.Add(kvp.Key, kvp.Value); } return(new FormUrlEncodedContent(values)); } // Assets are the only ones that have custom fields if (asset.CustomFields != null) { foreach (var fieldValuePair in asset.CustomFields) { values.Add(fieldValuePair.Key, fieldValuePair.Value); } } } var content = new FormUrlEncodedContent(values); return(content); }
public IRequestResponse Delete(ICommonEndpointModel toDelete) { return(Delete((int)toDelete.Id)); }
public FormUrlEncodedContent BuildQueryString(ICommonEndpointModel item) { Dictionary <string, string> values = new Dictionary <string, string>(); // If it's an asset check if there's a checkout request. Also process custom fields Asset asset = item as Asset; if (asset != null) { // If an asset as this set we know it needs to be check out. if (asset.CheckoutRequest != null) { foreach (PropertyInfo prop in asset.CheckoutRequest.GetType().GetProperties()) { var propValue = (prop.GetValue(asset.CheckoutRequest) != null) ? prop.GetValue(asset.CheckoutRequest).ToString() : null; if (propValue == null) { continue; } var result = prop.GetCustomAttributesData() .Where(p => p.Constructor.DeclaringType.Name == "OptionalRequestHeader") .FirstOrDefault(); if (result == null) { continue; } string keyname = result.ConstructorArguments.First().ToString().Replace("\"", "").ToLower(); values.Add(keyname, propValue); } return(new FormUrlEncodedContent(values)); } // Assets are the only ones that have custom fields if (asset != null && asset.CustomFields != null) { foreach (KeyValuePair <string, string> custField in asset.CustomFields) { values.Add(custField.Key, custField.Value); } } } foreach (PropertyInfo prop in item.GetType().GetProperties()) { foreach (CustomAttributeData attData in prop.GetCustomAttributesData()) { string typeName = attData.Constructor.DeclaringType.Name; if (typeName == "RequiredRequestHeader" || typeName == "OptionalRequestHeader") { var propValue = prop.GetValue(item); // Abort in missing required headers if (propValue == null && typeName == "RequiredRequestHeader") { throw new RequiredValueIsNullException(string.Format("{0} Cannot Be Null", prop.Name)); } if (propValue != null) { string attName = attData.ConstructorArguments.First().ToString().Replace("\"", ""); values.Add(attName, propValue.ToString()); } } } } FormUrlEncodedContent content = new FormUrlEncodedContent(values); return(content); }
public string Put(string path, ICommonEndpointModel item) { throw new NotImplementedException(); }