public JsonObject ToJson() { var json = new JsonObject { { "TableName", TableName }, { "Key", Key.ToJson() } }; var updateExpression = new UpdateExpression(Changes, ExpressionAttributeNames, ExpressionAttributeValues); if (ConditionExpression != null) { json.Add("ConditionExpression", ConditionExpression); } if (ExpressionAttributeNames != null && ExpressionAttributeNames.Keys.Count > 0) { json.Add("ExpressionAttributeNames", ExpressionAttributeNames); } if (ExpressionAttributeValues.Count > 0) { json.Add("ExpressionAttributeValues", ExpressionAttributeValues.ToJson()); } json.Add("UpdateExpression", updateExpression.ToString()); if (ReturnValues != null) { json.Add("ReturnValues", ReturnValues.ToString() !); } return(json); }
public JsonObject ToJson() { var json = new JsonObject { { "TableName", TableName }, { "Item", Item.ToJson() } }; if (ConditionExpression != null) { json.Add("ConditionExpression", ConditionExpression); } if (ExpressionAttributeNames != null && ExpressionAttributeNames.Keys.Count > 0) { json.Add("ExpressionAttributeNames", ExpressionAttributeNames); } if (ExpressionAttributeValues != null && ExpressionAttributeValues.Count > 0) { json.Add("ExpressionAttributeValues", ExpressionAttributeValues.ToJson()); } if (ReturnValues != ReturnValues.NONE) { json.Add("ReturnValues", ReturnValues.Canonicalize()); } return(json); }
private void SetDuplicateCheckExpression(PutItemRequest request, Dictionary <string, AttributeValue> item) { ExpressionAttributeNames.Clear(); ExpressionAttributeValues.Clear(); AttributeGenerator.ResetIndex(); var hashKeyAttrValue = item.FirstOrDefault(x => x.Key == _hashKeyName).Value; if (hashKeyAttrValue == null) { throw new InvalidOperationException($"Item does not contains Hash key: {_hashKeyName}"); } var sb = new StringBuilder(); var hashKeyName = GetAttributeName(_hashKeyName); var hashKeyValue = GetAttributeValue(hashKeyAttrValue); sb.Append($"{hashKeyName} <> {hashKeyValue}"); if (!string.IsNullOrEmpty(_sortKeyName)) { var sortKeyAttrValue = item.FirstOrDefault(x => x.Key == _sortKeyName).Value; var sortKeyName = GetAttributeName(_sortKeyName); var sortKeyValue = GetAttributeValue(sortKeyAttrValue); sb.Append($" AND {sortKeyName} <> {sortKeyValue}"); } request.ExpressionAttributeNames = ExpressionAttributeNames; request.ExpressionAttributeValues = ExpressionAttributeValues; request.ConditionExpression = sb.ToString(); }
public JsonObject ToJson() { var json = new JsonObject { { "TableName", TableName } }; if (Limit != 0) { json.Add("Limit", Limit); } if (Select != SelectEnum.Unknown) { json.Add("Select", Select.ToString()); } if (Segment != null) { json.Add("Segment", Segment.Value); } if (TotalSegments != null) { json.Add("TotalSegments", TotalSegments.Value); } if (ExclusiveStartKey != null) { json.Add("ExclusiveStartKey", ExclusiveStartKey.ToJson()); } if (ExpressionAttributeNames != null) { json.Add("ExpressionAttributeNames", ExpressionAttributeNames); } if (ExpressionAttributeValues != null) { json.Add("ExpressionAttributeValues", ExpressionAttributeValues.ToJson()); } if (FilterExpression != null) { json.Add("FilterExpression", FilterExpression); } if (ProjectionExpression != null) { json.Add("ProjectionExpression", ProjectionExpression); } return(json); }
protected override ScanRequest GetRequest() { var request = new ScanRequest() { TableName = TableName, ExpressionAttributeNames = ExpressionAttributeNames.ToDictionary(kv => kv.Key, kv => kv.Value), ExpressionAttributeValues = ExpressionAttributeValues.ToDictionary(kv => kv.Key, kv => kv.Value), FilterExpression = string.IsNullOrWhiteSpace(FilterExpression) ? null : FilterExpression.Trim(), ExclusiveStartKey = ExclusiveStartKey, }; if (!string.IsNullOrEmpty(IndexName)) { request.IndexName = IndexName; } return(request); }
protected override QueryRequest GetRequest() { var request = new QueryRequest { TableName = TableName, ExpressionAttributeNames = ExpressionAttributeNames.ToDictionary(kv => kv.Key, kv => kv.Value), ExpressionAttributeValues = ExpressionAttributeValues.ToDictionary(kv => kv.Key, kv => kv.Value), ScanIndexForward = !QueryInfo.OrderDescend, FilterExpression = string.IsNullOrWhiteSpace(FilterExpression) ? null : FilterExpression.Trim(), KeyConditionExpression = HashKey + (SortKey != null ? " AND " + SortKey : string.Empty), ExclusiveStartKey = ExclusiveStartKey, }; if (!string.IsNullOrEmpty(IndexName)) { request.IndexName = IndexName; } return(request); }
public JsonObject ToJson() { var json = new JsonObject { { "TableName", TableName } }; if (KeyConditionExpression != null) { json.Add("KeyConditionExpression", KeyConditionExpression); } if (ExpressionAttributeNames != null && ExpressionAttributeNames.Keys.Count > 0) { json.Add("ExpressionAttributeNames", ExpressionAttributeNames); } if (ExpressionAttributeValues != null && ExpressionAttributeValues.Count > 0) { json.Add("ExpressionAttributeValues", ExpressionAttributeValues.ToJson()); } if (FilterExpression != null) { json.Add("FilterExpression", FilterExpression); } if (Select != SelectEnum.Unknown) { json.Add("Select", Select.ToString()); } if (ProjectionExpression != null) { json.Add("ProjectionExpression", ProjectionExpression); } if (Limit != 0) { json.Add("Limit", Limit); } if (IndexName != null) { json.Add("IndexName", IndexName); } if (ConsistentRead) { json.Add("ConsistentRead", ConsistentRead); } if (ExclusiveStartKey != null) { json.Add("ExclusiveStartKey", ExclusiveStartKey.ToJson()); } if (!ScanIndexForward) { json.Add("ScanIndexForward", ScanIndexForward); // Default = true } if (ReturnConsumedCapacity) { json.Add("ReturnConsumedCapacity", "TOTAL"); } return(json); }