Я пытаюсь выполнить следующую задачу. У меня есть массив json, возвращенный из удаленной базы данных, и я хочу перебрать его, проверить, существует ли запись с идентификатором объекта в локальной базе данных. Если существует, я хочу обновить запись, если нет, я хочу ее прикрепить. Код выглядит следующим образом:
$.each(data, function(idx, task) {
var taskToUpdate = $org.context.Task.attachOrGet({ Id:task.TaskId});
taskToUpdate.TaskType = task.TaskType;
taskToUpdate.StatusId = task.TaskStatusId;
taskToUpdate.TaskStatus = task.TaskStatus;
taskToUpdate.DateScheduled = task.Date;
taskToUpdate.TimeSlot = task.Time;
taskToUpdate.LastUpdated = new Date();
taskToUpdate.TaskName = "Job " + task.TaskId + " " + task.TaskType + " @" + task.AddressOfTask + ", " + task.PropertyPostCode;
taskToUpdate.SpecialInstructions = task.SpecialInstructions;
taskToUpdate.PropertyAddress = task.AddressOfTask;
taskToUpdate.PropertyPostCode = task.PropertyPostCode;
taskToUpdate.PropertyType = task.PropertyType;
taskToUpdate.NumberOfBedrooms = task.NumberOfBedrooms;
taskToUpdate.HasGarage = task.HasGarage;
taskToUpdate.HasOutHouse = task.HasOutHouse;
});
$org.context.saveChanges({
success: function(db) {
that.messages.push("Tasks saved to local device.");
}, error: function(err) {
console.log(err);
that.messages.push("Errors saving tasks: " + err);
navigator.notification.alert("Error saving local tasks to your device!",
function () {
}, "Error", 'OK');
}
});
Код выполняется успешно, но записи в таблицу задач не добавляются.
Я что-то упускаю?