Сохраните исходную информацию и добавьте новые значения к указанной информации - PullRequest
0 голосов
/ 14 января 2020

У меня есть конечная точка, которая выполняет PUT, конечная точка разработана таким образом, что при добавлении нового пользователя она удалит пользователей, которых вы не указали в теле JSON. Поэтому, если я отправлю запрос, содержащий 1, и есть 1 и 2, он сохранит 1 и удалит 2. Однако, из-за этого это вызвало проблему в моем GUI.

У меня есть выпадающие списки, в которых используется эта информация, и я хотел бы, чтобы она сохранялась, а не удалялась. Поэтому я имею в виду, что когда вы делаете обновление, оно не удаляет 2, а сохраняет 2 и добавляет 1. Мой код состоит из следующего:

var toAddUsers = [];

for (var i = 1; i <= 12; i++) {
    var toPushAdd = {};
    toPushAdd.userTypeId = i;
    var toPushDelete = {};
    toPushDelete.userTypeId = i;

    if ($scope.originalUsers[i] !== $scope.updatedUsers[i]) {
        if ($scope.originalUsers[i] == null) {
            toPushAdd.userId = $scope.updatedUsers[i];
            toAddUsers.push(toPushAdd);
        } else if ($scope.updatedUsers[i] == null) {
            toPushDelete.userId = $scope.originalUsers[i];
            toDeleteUsers.push(toPushDelete);
        } else {
            toPushAdd.userId = $scope.updatedUsers[i];
            toAddUsers.push(toPushAdd);
            toPushDelete.userId = $scope.originalUsers[i];
            toDeleteUsers.push(toPushDelete);
        }
    }
}

if (toAddUsers.length > 0) {
    var addRequest = {};
    addRequest.users = [];

    for (var i = 0; i < toAddUsers.length; i++) {
        var user= {};
        user.userTypeId = toAddUsers[i].userTypeId ;
        user.userId = toAddUsers[i].userId ;
        addRequest.users.push(user);
    }

    var addUrl = "api/example/" + $scope.targetEntity.exampleId + "/users";

    $http.put(addUrl, addRequest.users)
        .then(function (response) {
        });
}

Я предполагаю, что лучше Решением было бы сохранить информацию, сохранив ее каким-либо образом, однако AngularJS для меня в новинку, поэтому я не совсем уверен, как go узнать об этом или где ее хранить. Любая помощь будет оценена. Я должен отметить, что в настоящее время этот метод работает и обновляет выпадающие списки, но не так, как мне бы хотелось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...