public long ExecuteNonQuery(string queryText, ICollection <IParameter> parameters) { if (string.IsNullOrEmpty(queryText)) { throw new ArgumentException("Value can not be null or empty string.", "queryText"); } Query query = new Query(); query.QueryText = queryText; query.Parameters = (List <IParameter>)parameters; WriteQueryOperation writeQueryOperation = new WriteQueryOperation(); writeQueryOperation.Database = _databaseName; //Collection Name Cannot be null(Protobuf) writeQueryOperation.Collection = ""; writeQueryOperation.Query = query; var writeQueryResponse = this.ExecutionMapper.ExecuteNonQuery(writeQueryOperation); if (writeQueryResponse.IsSuccessfull) { return(writeQueryResponse.AffectedDocuments); } else if (writeQueryResponse.ErrorParams != null && writeQueryResponse.ErrorParams.Length > 0) { throw new Exception(string.Format("Operation failed Error: " + Common.ErrorHandling.ErrorMessages.GetErrorMessage(writeQueryResponse.ErrorCode, writeQueryResponse.ErrorParams))); } throw new Exception("Operation failed Error: " + Common.ErrorHandling.ErrorMessages.GetErrorMessage(writeQueryResponse.ErrorCode)); }
public long ExecuteNonQuery(string queryText, ICollection<IParameter> parameters) { if (string.IsNullOrEmpty(queryText)) throw new ArgumentNullException("queryText can not be null or empty string"); if (typeof(T) == typeof(IJSONDocument) || typeof(T) == typeof(JSONDocument)) { Type type; if (!JsonDocumentUtil.IsSupportedParameterType(parameters, out type)) { throw new ArgumentException(string.Format("Type {0} is not supported on Collection<JSONDocument>", type), "parameters"); } } Query query = new Query(); query.QueryText = queryText; query.Parameters = (List<IParameter>)parameters; WriteQueryOperation writeQueryOperation = new WriteQueryOperation(); writeQueryOperation.Database = _database.DatabaseName; writeQueryOperation.Collection = _collectionName; writeQueryOperation.Query = query; var writeQueryResponse = _database.ExecutionMapper.ExecuteNonQuery(writeQueryOperation); if (writeQueryResponse.IsSuccessfull) { return writeQueryResponse.AffectedDocuments; } if (writeQueryResponse.ErrorParams != null && writeQueryResponse.ErrorParams.Length > 0) throw new Exception(string.Format("Operation failed Error :" + Common.ErrorHandling.ErrorMessages.GetErrorMessage(writeQueryResponse.ErrorCode, writeQueryResponse.ErrorParams))); throw new Exception("Operation failed Error: " + Common.ErrorHandling.ErrorMessages.GetErrorMessage(writeQueryResponse.ErrorCode)); }
public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { writer.WriteStartObject(); if (value is WriteQueryOperation) { WriteQueryOperation writeQueryOperation = value as WriteQueryOperation; if (writeQueryOperation != null) { //writer.WriteStartObject(); writer.WritePropertyName("col"); serializer.Serialize(writer, writeQueryOperation.Collection); writer.WritePropertyName("DB"); serializer.Serialize(writer, writeQueryOperation.Database); writer.WritePropertyName("Query"); serializer.Serialize(writer, writeQueryOperation.Query); writer.WritePropertyName("OpT"); serializer.Serialize(writer, writeQueryOperation.OperationType); //writer.WriteEndObject(); } } //else if (value is QueryLogOperation) //{ // QueryLogOperation operation = value as QueryLogOperation; // writer.WritePropertyName("col"); // serializer.Serialize(writer, operation.Collection); // writer.WritePropertyName("DB"); // serializer.Serialize(writer, operation.Database); // writer.WritePropertyName("Operation"); // serializer.Serialize(writer, operation.Operation); // writer.WritePropertyName("OpId"); // serializer.Serialize(writer, operation.OperationId); // writer.WritePropertyName("OperationIdForIndex"); // serializer.Serialize(writer, operation.OperationIdForIndex); // writer.WritePropertyName("OpT"); // serializer.Serialize(writer, operation.OperationType); // writer.WritePropertyName("perf"); // serializer.Serialize(writer, operation.Performed); // writer.WritePropertyName("rep"); // serializer.Serialize(writer, operation.Replicated); // writer.WritePropertyName("lOpT"); // serializer.Serialize(writer, operation.LogOperationType); // writer.WritePropertyName("req"); // serializer.Serialize(writer, operation.RequestId); // writer.WritePropertyName("EId"); // serializer.Serialize(writer, operation.ElectionId); // writer.WritePropertyName("ESeqId"); // serializer.Serialize(writer, operation.ElectionBasedSequenceId); // //writer.WriteEndObject(); //} writer.WriteEndObject(); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) { JObject jObject = JObject.Load(reader); DatabaseOperationType dbOperationType = (DatabaseOperationType)((int)jObject["OpT"]); switch (dbOperationType) { case DatabaseOperationType.WriteQuery: WriteQueryOperation writeQueryOperation = new WriteQueryOperation(); serializer.Populate(jObject.CreateReader(), writeQueryOperation); return(writeQueryOperation); default: return(serializer.Deserialize(reader)); } }