Example #1
0
 public QueryWriter()
 {
     queryTextBuilder = new StringBuilder();
     queryParameters = new Dictionary<string, object>();
     resultMode = CypherResultMode.Set;
     resultFormat = CypherResultFormat.DependsOnEnvironment;
 }
Example #2
0
 public QueryWriter()
 {
     queryTextBuilder = new StringBuilder();
     queryParameters  = new Dictionary <string, object>();
     resultMode       = CypherResultMode.Set;
     resultFormat     = CypherResultFormat.DependsOnEnvironment;
 }
Example #3
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     string database,
     IContractResolver contractResolver = null,
     int?maxExecutionTime = null,
     NameValueCollection customHeaders = null,
     bool isWrite = true,
     IEnumerable <Bookmark> bookmarks = null,
     string identifier      = null,
     bool includeQueryStats = false
     )
 {
     this.queryText        = queryText;
     this.queryParameters  = queryParameters;
     this.ResultMode       = resultMode;
     this.ResultFormat     = resultFormat;
     JsonContractResolver  = contractResolver ?? GraphClient.DefaultJsonContractResolver;
     this.MaxExecutionTime = maxExecutionTime;
     this.CustomHeaders    = customHeaders;
     IsWrite           = isWrite;
     IncludeQueryStats = includeQueryStats;
     Bookmarks         = bookmarks;
     Identifier        = identifier;
     Database          = database;
 }
Example #4
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     IContractResolver contractResolver = null) :
     this(queryText, queryParameters, resultMode, CypherResultFormat.DependsOnEnvironment, contractResolver)
 {
 }
Example #5
0
 public CypherQuery(
     string queryText,
     IDictionary<string, object> queryParameters,
     CypherResultMode resultMode,
     IContractResolver contractResolver = null)
     : this(queryText, queryParameters, resultMode, CypherResultFormat.DependsOnEnvironment, contractResolver)
 {
 }
Example #6
0
 public CypherQuery(
     string queryText,
     IDictionary<string, object> queryParameters,
     CypherResultMode resultMode)
 {
     this.queryText = queryText;
     this.queryParameters = queryParameters;
     this.resultMode = resultMode;
 }
Example #7
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode)
 {
     this.queryText       = queryText;
     this.queryParameters = queryParameters;
     this.resultMode      = resultMode;
 }
Example #8
0
 QueryWriter(
     StringBuilder queryTextBuilder,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode)
 {
     this.queryTextBuilder = queryTextBuilder;
     this.queryParameters  = queryParameters;
     this.resultMode       = resultMode;
 }
Example #9
0
 QueryWriter(
     StringBuilder queryTextBuilder,
     IDictionary<string, object> queryParameters,
     CypherResultMode resultMode)
 {
     this.queryTextBuilder = queryTextBuilder;
     this.queryParameters = queryParameters;
     this.resultMode = resultMode;
 }
Example #10
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     IContractResolver contractResolver = null)
 {
     this.queryText       = queryText;
     this.queryParameters = queryParameters;
     this.resultMode      = resultMode;
     jsonContractResolver = contractResolver ?? GraphClient.DefaultJsonContractResolver;
 }
Example #11
0
 public CypherQuery(
     string queryText,
     IDictionary<string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     IContractResolver contractResolver = null)
 {
     this.queryText = queryText;
     this.queryParameters = queryParameters;
     this.resultMode = resultMode;
     this.resultFormat = resultFormat;
     jsonContractResolver = contractResolver ?? GraphClient.DefaultJsonContractResolver;
 }
Example #12
0
 public CypherJsonDeserializer(IGraphClient client, CypherResultMode resultMode, CypherResultFormat resultFormat, bool inTransaction)
 {
     this.client        = client;
     this.resultMode    = resultMode;
     this.inTransaction = inTransaction;
     // here is where we decide if we should deserialize as transactional or REST endpoint data format.
     if (resultFormat == CypherResultFormat.DependsOnEnvironment)
     {
         this.resultFormat = inTransaction ? CypherResultFormat.Transactional : CypherResultFormat.Rest;
     }
     else
     {
         this.resultFormat = resultFormat;
     }
 }
Example #13
0
 QueryWriter(
     StringBuilder queryTextBuilder,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     List <string> bookmarks,
     string identifier)
 {
     this.queryTextBuilder = queryTextBuilder;
     this.queryParameters  = queryParameters;
     this.resultMode       = resultMode;
     this.resultFormat     = resultFormat;
     this.Identifier       = identifier;
     this.bookmarks        = bookmarks;
 }
Example #14
0
 public CypherQuery(
     string queryText,
     IDictionary<string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     IContractResolver contractResolver = null, 
     int? maxExecutionTime = null, 
     NameValueCollection customHeaders = null
     )
 {
     this.queryText = queryText;
     this.queryParameters = queryParameters;
     this.resultMode = resultMode;
     this.resultFormat = resultFormat;
     jsonContractResolver = contractResolver ?? GraphClient.DefaultJsonContractResolver;
     this.maxExecutionTime = maxExecutionTime;
     this.customHeaders = customHeaders;
 }
Example #15
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     IContractResolver contractResolver = null,
     int?maxExecutionTime = null,
     NameValueCollection customHeaders = null
     )
 {
     this.queryText        = queryText;
     this.queryParameters  = queryParameters;
     this.resultMode       = resultMode;
     this.resultFormat     = resultFormat;
     jsonContractResolver  = contractResolver ?? GraphClient.DefaultJsonContractResolver;
     this.maxExecutionTime = maxExecutionTime;
     this.customHeaders    = customHeaders;
 }
Example #16
0
 public CypherQuery(
     string queryText,
     IDictionary <string, object> queryParameters,
     CypherResultMode resultMode,
     CypherResultFormat resultFormat,
     IContractResolver contractResolver = null,
     int?maxExecutionTime = null,
     NameValueCollection customHeaders = null,
     bool isWrite = true,
     IEnumerable <string> bookmarks = null,
     string identifier = null
     )
 {
     this.queryText        = queryText;
     this.queryParameters  = queryParameters;
     this.resultMode       = resultMode;
     this.resultFormat     = resultFormat;
     jsonContractResolver  = contractResolver ?? GraphClient.DefaultJsonContractResolver;
     this.maxExecutionTime = maxExecutionTime;
     this.customHeaders    = customHeaders;
     IsWrite    = isWrite;
     Bookmarks  = bookmarks;
     Identifier = identifier;
 }
Example #17
0
 public CypherJsonDeserializer(IGraphClient client, CypherResultMode resultMode, CypherResultFormat resultFormat, bool inTransaction)
     : this(client, resultMode, resultFormat, inTransaction, false)
 {
 }
Example #18
0
 public CypherJsonDeserializer(IGraphClient client, CypherResultMode resultMode, CypherResultFormat resultFormat)
     : this(client, resultMode, resultFormat, false, false)
 {
 }
Example #19
0
 public QueryWriter()
 {
     queryTextBuilder = new StringBuilder();
     queryParameters  = new Dictionary <string, object>();
     resultMode       = CypherResultMode.Set;
 }
Example #20
0
        public static IEnumerable <T> Deserialize <T>(this IRecord record, ICypherJsonDeserializer <T> deserializer, CypherResultMode mode)
        {
            var convertMode = mode;
            var typeT       = typeof(T);

            if (!typeT.IsPrimitive() && typeT.GetInterfaces().Contains(typeof(IEnumerable)))
            {
                convertMode = CypherResultMode.Projection;
            }

            if (!typeT.IsAnonymous())
            {
                convertMode = CypherResultMode.Projection;
            }

            var columns = GetColumns(record.Keys);
            //Columns //Data
            var data = new List <string>();

            foreach (var key in record.Keys)
            {
                var o = record[key];
                if (o == null)
                {
                    data.Add(null);
                    continue;
                }

                data.Add(o.ToJsonString(convertMode == CypherResultMode.Set, record.Keys.Count > 1, false));
            }

            var format     = "{{ {0}, \"data\":[[ {1} ]] }}";
            var dataJoined = string.Join(",", data.Select(d => d ?? "null"));

            string json;

            switch (convertMode)
            {
            case CypherResultMode.Set:
                if (typeT.IsPrimitive())
                {
                    json = string.Format(format, columns, $"{dataJoined}");
                }
                else
                {
                    json = string.Format(format, columns, $"{{\"data\":{{ {dataJoined} }} }}");
                }
                break;

            case CypherResultMode.Projection:
                json = string.Format(format, columns, $"{dataJoined}");
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }

            return(deserializer.Deserialize(json));
        }
Example #21
0
 public CypherJsonDeserializer(IGraphClient client, CypherResultMode resultMode)
 {
     this.client     = client;
     this.resultMode = resultMode;
 }
Example #22
0
 ICypherFluentQuery <TResult> ICypherFluentQuery.Return <TResult>(string statement, CypherResultMode resultMode)
 {
     throw new NotSupportedException("This was an internal that never should have been exposed. If you want to create a projection, you should be using the lambda overload instead. See the 'Using Functions in Return Clauses' and 'Using Custom Text in Return Clauses' sections of https://bitbucket.org/Readify/neo4jclient/wiki/cypher for details of how to do this.");
 }
Example #23
0
 public QueryWriter()
 {
     queryTextBuilder = new StringBuilder();
     queryParameters = new Dictionary<string, object>();
     resultMode = CypherResultMode.Set;
 }