Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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());
        }