public void createChild <T>(RestSessionBase session, T childRestObj, int responseChoice) { String parameters = null; if (responseChoice != -1) { parameters = "responseChoice=" + responseChoice.ToString(); } string jsonToPost = JsonConvert.SerializeObject(childRestObj, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); HttpWebResponse response = session.sendRequestWithRetry("POST", getResourceUrlForChildType(session, childRestObj.GetType()), parameters, null, jsonToPost); if ((int)response.StatusCode >= 200 && (int)response.StatusCode < 300) { StreamReader reader = new StreamReader(response.GetResponseStream()); String data = reader.ReadToEnd(); reader.Close(); response.Close(); List <T> list = JsonConvert.DeserializeObject <List <T> >(data, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }); T responseRestObj = list[0]; copyJsonProperties(responseRestObj, childRestObj); } }
public String getResourceUrlForChildType(RestSessionBase session, Type childRestObjClass) { MethodInfo info = childRestObjClass.GetMethod("getResourceName"); var childResourceName = info.Invoke(null, null); return(String.Format("{0}/{1}", getResourceUrl(session, session.amIRootObject(this)), childResourceName)); }
public void assign <T>(RestSessionBase session, List <T> children) where T : RestObject { List <string> ids = new List <string>(); foreach (T child in children) { ids.Add(child.NUId); } assign <T>(session, ids); }
public List <T> fetch(RestSessionBase session, String filter, String orderBy, String[] groupBy, int page, int pageSize, String queryParameters, bool commit) { String resourceUrl = getResourceUrl(session); WebHeaderCollection headers = prepareHeaders(filter, orderBy, groupBy, page, pageSize); HttpWebResponse response = session.sendRequestWithRetry("GET", resourceUrl, queryParameters, headers); if ((int)response.StatusCode >= 200 && (int)response.StatusCode < 300) { StreamReader reader = new StreamReader(response.GetResponseStream()); String data = reader.ReadToEnd(); reader.Close(); response.Close(); return(JsonConvert.DeserializeObject <List <T> >(data, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore })); } throw new RestException("Response received with status code: " + response.StatusCode); }
public String getResourceUrl(RestSessionBase session, bool ignoreRoot = false) { MethodInfo info = this.GetType().GetMethod("getResourceName"); var resourceName = info.Invoke(null, null); String url = session.getRestBaseUrl(); if (NUId != null) { return(String.Format("{0}/{1}/{2}", url, resourceName, NUId)); } else if (ignoreRoot) { return(String.Format("{0}", url)); } else { return(String.Format("{0}/{1}", url, resourceName)); } }
public void assign <T>(RestSessionBase session, List <string> children) { if (typeof(T) == typeof(RestObject)) { throw new RestException("Must use a derived type of RestObject"); } string jsonToPost = JsonConvert.SerializeObject(children, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); HttpWebResponse response = session.sendRequestWithRetry("PUT", getResourceUrlForChildType(session, typeof(T)), null, null, jsonToPost); if ((int)response.StatusCode >= 200 && (int)response.StatusCode < 300) { response.Close(); return; } response.Close(); throw new RestException("Response received with status code: " + response.StatusCode); }
public void save(RestSessionBase session, int responseChoice) { String parameters = null; if (responseChoice != -1) { parameters = "responseChoice=" + responseChoice.ToString(); } string jsonToPost = JsonConvert.SerializeObject(this, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); HttpWebResponse response = session.sendRequestWithRetry("PUT", getResourceUrl(session), parameters, null, jsonToPost); if ((int)response.StatusCode >= 200 && (int)response.StatusCode < 300) { response.Close(); return; } response.Close(); throw new RestException("Response received with status code: " + response.StatusCode); }
public void fetch(RestSessionBase session) { HttpWebResponse response = session.sendRequestWithRetry("GET", getResourceUrl(session), null, null, null); if ((int)response.StatusCode >= 200 && (int)response.StatusCode < 300) { StreamReader reader = new StreamReader(response.GetResponseStream()); String data = reader.ReadToEnd(); reader.Close(); response.Close(); var objList = JsonConvert.DeserializeObject <List <JObject> >(data, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }); JObject jobject = objList[0]; var obj = jobject.ToObject(this.GetType()); copyJsonProperties(obj, this); return; } response.Close(); throw new RestException(response.StatusDescription); }
private String getResourceUrl(RestSessionBase session) { return(parentObject.getResourceUrlForChildType(session, childType)); }
public List <T> fetch(RestSessionBase session) { return(fetch(session, null, null, null, -1, -1, null, true)); }
public void createChild <T>(RestSessionBase session, T childRestObj) { this.createChild(session, childRestObj, -1); }
public void save(RestSessionBase session) { save(session, -1); }
public void delete(RestSessionBase session) { delete(session, -1); }