public static SaveException Parse(EntityManager em, String json) { var jn = JNode.DeserializeFrom(json); var message = jn.Get <String>("ExceptionMessage"); var entityErrors = jn.GetArray <EntityError>("EntityErrors"); var saveErrors = entityErrors.Select(ee => ee.Resolve(em)); return(new SaveException(message ?? "see EntityErrors property", saveErrors)); }
private static async Task <string> ReadResult(HttpResponseMessage response) { var result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { try { var json = JNode.DeserializeFrom(result); response.ReasonPhrase = json.Get <string>("Message"); } catch (Exception) { } throw new DataServiceRequestException(response, result); } return(result); }
public async Task <SaveResult> SaveChanges(IEnumerable <IEntity> entitiesToSave, SaveOptions saveOptions) { var entityManager = entitiesToSave.First().EntityAspect.EntityManager; var saveBundleNode = PrepareSaveBundle(entitiesToSave, saveOptions); try { var saveResultJson = await saveOptions.DataService.PostAsync(saveOptions.ResourceName, saveBundleNode.Serialize()); var jn = JNode.DeserializeFrom(saveResultJson); if (jn.HasValues("Errors") || jn.HasValues("errors")) { throw new SaveException(entityManager, jn); } return(ProcessSaveResult(entityManager, saveOptions, jn)); } catch (DataServiceRequestException dsre) { var jn = JNode.DeserializeFrom(dsre.ResponseContent); throw new SaveException(entityManager, jn); } catch (HttpRequestException e) { throw new SaveException(e.Message, e); } }
public SaveException(EntityManager em, String json) : this(em, JNode.DeserializeFrom(json)) { }
/// <summary> /// Imports metadata via a TextReader. /// </summary> /// <param name="textReader"></param> public void ImportMetadata(TextReader textReader) { var jNode = JNode.DeserializeFrom(textReader); ImportMetadata(jNode); }
/// <summary> /// Imports metadata from a string. /// </summary> /// <param name="metadata"></param> public void ImportMetadata(String metadata) { var jNode = JNode.DeserializeFrom(metadata); ImportMetadata(jNode); }
/// <summary> /// Imports metadata via a TextReader. /// </summary> /// <param name="textReader"></param> /// <param name="isFromServer"></param> public void ImportMetadata(TextReader textReader, bool isFromServer = false) { var jNode = JNode.DeserializeFrom(textReader); ImportMetadata(jNode, isFromServer); }
/// <summary> /// Imports metadata from a string. /// </summary> /// <param name="metadata"></param> /// <param name="isFromServer"></param> public void ImportMetadata(String metadata, bool isFromServer = false) { var jNode = JNode.DeserializeFrom(metadata); ImportMetadata(jNode, isFromServer); }