public async Task UpsertAsync(GenreEntity genre) { var inode = database.GetNodes(genre.EntityId, genre.GetType().Name); if (inode.Count == 0) { var node = mapper.Map <Node>(genre); database.AddNode(node); } else { var node = mapper.Map <Node>(genre); database.UpdateNode(node); } }
private INode UpsertNode(Node node) { List <INode> nodesFromDb = null; var nodeGenericFromDb = appDatabase.GetNodes((string)node.Properties.GetValue("EntityId"), node.Label); if (nodeGenericFromDb.Count == 0) { nodesFromDb = appDatabase.AddNode(node); } else if (nodeGenericFromDb.Count == 1) { node.Id = nodeGenericFromDb.First().Id; nodesFromDb = appDatabase.UpdateNode(node); } else { throw new Exception("More than one entity has found!"); } return(nodesFromDb.First()); }