createAndSetSelectedItem method
Создает новый элемент БД и устанавливает его в текущее selectedItem (currentItem) На время чтерния статус контроллера будет loading
Implementation
Future createAndSetSelectedItem() async {
currentStatus = GetStatus.loading();
sendNotify();
itemsRequested.broadcast();
try {
var newItem = await doCreateNewItem();
//запоминаем текущий элемент в бэкапе на случай отмены редактирования пользователем для возможности
//сравнить были ли сделаны какие-либо изменения пользователем
selectedItem = newItem.clone();
backupItem = newItem;
await afterRefreshItem(selectedItem!, referenceList);
currentStatus = GetStatus.success(NsgBaseController.emptyData);
sendNotify();
selectedItemChanged.broadcast(null);
if (this is NsgDataItemController) {
var controller = (this as NsgDataItemController).getDataItemController(selectedItem!.id);
controller.selectedItem = selectedItem;
controller.backupItem = selectedItem;
controller.sendNotify();
controller.selectedItemChanged.broadcast(null);
}
} on Exception catch (e) {
_updateStatusError(e);
}
}