public virtual ISDataResults Execute(SDataParameters parms) { var request = CreateRequest(parms, true); var response = request.GetResponse(); TraceResponse(response); return(SDataResults.FromResponse(response)); }
private ISDataResults <T> CreateResults <T>(SDataResponse response) { TraceResponse(response); object obj = null; if (typeof(T) == typeof(byte[])) { var str = response.Content as string; if (str != null) { obj = Encoding.UTF8.GetBytes(str); } } else if (typeof(T) == typeof(string)) { var data = response.Content as byte[]; if (data != null) { obj = Encoding.UTF8.GetString(data); } } #if !PCL && !NETFX_CORE && !SILVERLIGHT else if (typeof(T) == typeof(SDataSchema)) { var str = response.Content as string; if (str != null) { using (var memory = new MemoryStream(Encoding.UTF8.GetBytes(str))) { obj = SDataSchema.Read(memory); } } } #endif T content; if (obj != null) { content = (T)obj; } else { content = ContentHelper.Deserialize <T>(response.Content, NamingScheme); var tracking = content as IChangeTracking; if (tracking != null) { tracking.AcceptChanges(); } } return(SDataResults.FromResponse(response, content)); }