public async Task <User> UpdateUser(string userName, string email, string password) { var response = await _getItem.GetUserByName(userName); var currentEmail = response.Email; var currentPassword = response.Password; var request = UserRequestBuilder(userName, email, currentEmail, password, currentPassword); var result = await UpdatItemAsync(request); return(new User { UserName = result.Attributes["UserName"].S, Email = result.Attributes["Email"].S, Password = result.Attributes["Password"].S, FriendList = result.Attributes["FriendList"].L.Select(sf => sf.S).ToList() }); }
public async Task <IActionResult> GetUserByName(string UserName) { var response = await _getItem.GetUserByName(UserName); return(Ok(response)); }
//delete item with primary key "id" public async Task <DeleteItemResponse> Delete(String tableName, string id) { _tableName = tableName; //get the item by id //var deleteItem = await _getItem.GetItems(_tableName, id); //var currentID = deleteItem.Items.Select(p => p.Id); if (_tableName == "User") { var deleteItem = await _getItem.GetUserByName(id); _hashKeyName = "UserName"; _hashKey = id; return(await DeleteUserRequest()); } else { if (_tableName == "Event") { _hashKeyName = "EventID"; _hashKey = id; int eventID = Convert.ToInt32(id); var deleteItem = await _getItem.GetEventByID(eventID); _sortKeyName = "UserName"; _sortKey = deleteItem.UserName; } else if (_tableName == "Notification") //notification { _hashKeyName = "NotificationID"; _hashKey = id; int notificationID = Convert.ToInt32(id); var deleteItem = await _getItem.GetNotificationByID(notificationID); _sortKeyName = "SenderName"; _sortKey = deleteItem.ReceiverName; } else { return(null); } var request = new DeleteItemRequest { TableName = _tableName, Key = new Dictionary <string, AttributeValue> { { _hashKeyName, new AttributeValue { N = _hashKey } }, { _sortKeyName, new AttributeValue { S = _sortKey } } } }; var response = await _dynamoDbClient.DeleteItemAsync(request); return(response); } }