public bool LoadCaseFromFile(out Case currentCase) { try { using (StreamReader inPutFileStream = new StreamReader(m_fileToParse)) { string result = inPutFileStream.ReadToEnd(); currentCase = (Case)JsonConvert.DeserializeObject(result, typeof(Case), new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto, PreserveReferencesHandling = PreserveReferencesHandling.Objects }); } if (currentCase != null && currentCase.Nodes != null) { RestoreParentLink(currentCase); } return true; } catch (Exception ex) { currentCase = null; Logger.WriteInfoMessage(String.Format("\nLoad case from file error:\n\tFile name - {0};\n\tException - {1}", m_fileToParse, ex.ToString())); return false; } }
public bool SaveCaseToFile(Case currentCase) { try { using (StreamWriter outPutFileStream = new StreamWriter(m_fileToParse)) { string jsonTypeNameAuto = JsonConvert.SerializeObject(currentCase, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Auto, PreserveReferencesHandling = PreserveReferencesHandling.Objects }); outPutFileStream.WriteLine(jsonTypeNameAuto); } return true; } catch(Exception ex) { Logger.WriteInfoMessage(String.Format("\nSave case to file error:\n\tFile name - {0};\n\tException - {1}", m_fileToParse, ex.ToString())); return false; } }
private void TestJsonParser() { JsonParser jsonparser = new JsonParser(); jsonparser.SaveCaseToFile(m_currentCase); m_currentCase = null; jsonparser.LoadCaseFromFile(out m_currentCase); }