Пример #1
0
        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()
            });
        }
Пример #2
0
        public async Task <IActionResult> GetUserByName(string UserName)
        {
            var response = await _getItem.GetUserByName(UserName);

            return(Ok(response));
        }
Пример #3
0
        //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);
            }
        }