public Node Create(Node node) { //Serialise to disk node.Id = Guid.NewGuid(); save(node); _nodes.Add(node); return node; }
public Node Update(Node node) { //Serialise to disk var nodeToReplace = Read(node.Id); nodeToReplace.Name = node.Name; nodeToReplace.Parent = node.Parent; nodeToReplace.Fields = node.Fields; save(node); return node; }
public void Delete(Node node) { _nodes.Remove(node); System.IO.File.Delete(getNodePath(node)); }
private void save(Node node) { using(var file = File.Create(getNodePath(node))) { using(StreamWriter fs = new StreamWriter(file)) { fs.Write(JsonConvert.SerializeObject(node)); } } }
private String getNodePath(Node node) { return System.IO.Path.Combine(_nodeDir, string.Format("{0}.json", node.Id.ToString())); }