public UserInfo Add(UserInfo item) { if (item.Id == Guid.Empty) { item.Id = Guid.NewGuid(); } AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { PutItemRequest request = CreatePutItemRequest(item); try { client.PutItem(request); return(item); } catch (AmazonDynamoDBException ex) { throw new MissingFieldException(ex.Message); } } }
public DataInfo Get(DataInfo item) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { ScanRequest request = CreateScanRequest(item.DataId); if (request.ScanFilter.Count == 0) { throw new InvalidOperationException(ErrorMessages.NoSearchCriteria); } ScanResponse response = client.Scan(request); if (response.Items == null) { string errorMessage = string.Format(ErrorMessages.MisingResponseItem, "Get Data Info"); throw new MissingFieldException(errorMessage); } Dictionary <string, AttributeValue> userData = response.Items[0]; var returnValue = DynamoUtilities.GetItemFromAttributeStore <DataInfo>(userData); return(returnValue); } }
public IEnumerable <Organization> GetAll() { List <Organization> returnValue = new List <Organization>(); AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { ScanRequest request = CreateScanRequest(); ScanResponse response = client.Scan(request); if (response.Items == null || response.Items.Any() == false) { string errorMessage = string.Format(ErrorMessages.MisingResponseItem, "Get Organization"); throw new MissingFieldException(errorMessage); } foreach (Dictionary <string, AttributeValue> item in response.Items) { Organization organization = DynamoUtilities.GetItemFromAttributeStore <Organization>(item); returnValue.Add(organization); } return(returnValue); } }
private static ScanRequest CreateScanRequest(UserInfo searchCriteria) { ScanRequest request = new ScanRequest(); request.TableName = ConfigurationManager.AppSettings["userTableName"];; request.ScanFilter = new Dictionary <string, Condition>(); if (!string.IsNullOrEmpty(searchCriteria.EmailAddress)) { Condition condition = new Condition(); condition.ComparisonOperator = DynamoUtilities.DYNAMO_EQUALITY_OPERATOR; condition.AttributeValueList = new List <AttributeValue>() { DynamoUtilities.GetItemAttributeStringValue(searchCriteria.EmailAddress.ToLower()) }; request.ScanFilter.Add(EMAIL_ADDRESS_COLUMN, condition); } if (!string.IsNullOrEmpty(searchCriteria.PasswordHash)) { Condition condition = new Condition(); condition.ComparisonOperator = DynamoUtilities.DYNAMO_EQUALITY_OPERATOR; condition.AttributeValueList = new List <AttributeValue>() { DynamoUtilities.GetItemAttributeStringValue(searchCriteria.PasswordHash) }; request.ScanFilter.Add(PASSWORD_COLUMN, condition); } if (!string.IsNullOrEmpty(searchCriteria.UserName)) { Condition condition = new Condition(); condition.ComparisonOperator = DynamoUtilities.DYNAMO_EQUALITY_OPERATOR; condition.AttributeValueList = new List <AttributeValue>() { DynamoUtilities.GetItemAttributeStringValue(searchCriteria.UserName) }; request.ScanFilter.Add(USER_NAME_COLUMN, condition); } if (searchCriteria.Id != Guid.Empty) { Condition condition = new Condition(); condition.ComparisonOperator = DynamoUtilities.DYNAMO_EQUALITY_OPERATOR; condition.AttributeValueList = new List <AttributeValue>() { DynamoUtilities.GetItemAttributeStringValue(searchCriteria.Id) }; request.ScanFilter.Add(USER_ID_COLUMN, condition); } return(request); }
public void Remove(Organization item) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { DeleteItemRequest request = CreateDeleteItemRequest(item.OrganizationId); client.DeleteItem(request); } }
public void Remove(DataInfo item) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { DeleteItemRequest request = CreateDeleteItemRequest(item); client.DeleteItem(request); } }
private DeleteItemRequest CreateDeleteItemRequest(Guid id) { DeleteItemRequest request = new DeleteItemRequest(); request.TableName = ConfigurationManager.AppSettings["organizationTableName"]; request.Key = new Dictionary <string, AttributeValue>() { { ORGANIZATION_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(id) } }; return(request); }
private PutItemRequest CreatePutItemRequest(Organization item) { PutItemRequest request = new PutItemRequest(); request.TableName = ConfigurationManager.AppSettings["organizationTableName"]; request.Item = new Dictionary <string, AttributeValue>(); request.Item.Add(ORGANIZATION_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.OrganizationId)); request.Item.Add(DynamoUtilities.SERIALIZED_DATA_COLUMN, DynamoUtilities.GetItemAttributeSerializedValue(item)); return(request); }
private static DeleteItemRequest CreateDeleteItemRequest(DataInfo item) { var request = new DeleteItemRequest(); request.TableName = ConfigurationManager.AppSettings["dataInfoTableName"];; request.Key = new Dictionary <string, AttributeValue> { { DATA_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.DataId) }, { ORGANIZATION_ID, DynamoUtilities.GetItemAttributeStringValue(item.OrganizationId) } }; return(request); }
private static GetItemRequest CreateGetItemRequest(UserInfo item) { GetItemRequest request = new GetItemRequest(); request.TableName = ConfigurationManager.AppSettings["userTableName"];; request.Key = new Dictionary <string, AttributeValue> { { USER_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.Id) }, { ORGANIZATION_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.OrganizationId) } }; return(request); }
private static DeleteItemRequest CreateDeleteItemRequest(UserPaymentInfo item) { var request = new DeleteItemRequest(); request.TableName = ConfigurationManager.AppSettings["userPaymentInfoTableName"];; request.Key = new Dictionary <string, AttributeValue> { { USER_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.UserId) }, { USER_PAYMENT_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.UserPaymentInfoId) } }; return(request); }
private static PutItemRequest CreatePutItemRequest(UserPaymentInfo item) { PutItemRequest request = new PutItemRequest(); request.TableName = ConfigurationManager.AppSettings["userPaymentInfoTableName"]; request.Item = new Dictionary <string, AttributeValue>(); request.Item.Add(USER_PAYMENT_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.UserPaymentInfoId)); request.Item.Add(USER_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.UserId)); request.Item.Add(DynamoUtilities.SERIALIZED_DATA_COLUMN, DynamoUtilities.GetItemAttributeSerializedValue(item)); return(request); }
private static PutItemRequest CreatePutItemRequest(UserInfo item) { PutItemRequest request = new PutItemRequest(); request.TableName = ConfigurationManager.AppSettings["userTableName"]; request.Item = new Dictionary <string, AttributeValue>(); request.Item.Add(USER_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.Id)); request.Item.Add(ORGANIZATION_ID_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.OrganizationId)); request.Item.Add(EMAIL_ADDRESS_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.EmailAddress)); request.Item.Add(USER_NAME_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.UserName)); request.Item.Add(PASSWORD_COLUMN, DynamoUtilities.GetItemAttributeStringValue(item.PasswordHash)); request.Item.Add(DynamoUtilities.SERIALIZED_DATA_COLUMN, DynamoUtilities.GetItemAttributeSerializedValue(item)); return(request); }
public Guid Add(Organization item) { if (item.OrganizationId == Guid.Empty) { item.OrganizationId = Guid.NewGuid(); } AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { PutItemRequest request = CreatePutItemRequest(item); client.PutItem(request); } return(item.OrganizationId); }
public DataInfo Add(DataInfo item) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { PutItemRequest request = CreatePutItemRequest(item); try { client.PutItem(request); return(item); } catch (AmazonDynamoDBException ex) { throw new MissingFieldException(ex.Message); } } }
private static ScanRequest CreateScanRequest(Guid userId) { ScanRequest request = new ScanRequest(); request.TableName = ConfigurationManager.AppSettings["dataInfoTableName"]; request.ScanFilter = new Dictionary <string, Condition>(); Condition condition = new Condition(); condition.ComparisonOperator = DynamoUtilities.DYNAMO_EQUALITY_OPERATOR; condition.AttributeValueList = new List <AttributeValue>() { DynamoUtilities.GetItemAttributeStringValue(userId) }; request.ScanFilter.Add(DATA_ID_COLUMN, condition); return(request); }
public Organization Get(Guid id) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { GetItemRequest request = CreateGetItemRequest(id); GetItemResponse response = client.GetItem(request); if (response.Item == null) { string errorMessage = string.Format(ErrorMessages.MisingResponseItem, "Get Organization"); throw new MissingFieldException(errorMessage); } Organization returnValue = DynamoUtilities.GetItemFromAttributeStore <Organization>(response.Item); return(returnValue); } }
/// <summary> /// This method will use whatever information is supplied to scan the table /// supported fields are: /// CustomerId /// UserName /// Password(Hash) /// EmailAddress /// </summary> /// <param name="searchCriteria"></param> /// <returns></returns> public IEnumerable <UserInfo> Search(UserInfo searchCriteria) { AmazonDynamoDBClient client = DynamoUtilities.InitializeClient(); using (client) { ScanRequest request = CreateScanRequest(searchCriteria); if (request.ScanFilter.Count == 0) { throw new InvalidOperationException(ErrorMessages.NoSearchCriteria); } List <UserInfo> returnValue = new List <UserInfo>(); try { ScanResponse response = client.Scan(request); if (response.Items == null) { string errorMessage = string.Format(ErrorMessages.MisingResponseItem, "Search User"); throw new MissingFieldException(errorMessage); } foreach (Dictionary <string, AttributeValue> item in response.Items) { UserInfo user = DynamoUtilities.GetItemFromAttributeStore <UserInfo>(item); returnValue.Add(user); } } catch (AmazonDynamoDBException ex) { //expected exception, 404 } return(returnValue); } throw new NotImplementedException(); }