public async Task UpdateOperation(string operationId) { var operationData = await _wasabeeApiV1Service.Operations_GetOperation(operationId); if (operationData != null) { await _operationsDatabase.SaveOperationModel(operationData); _mvxMessenger.Publish(new OperationDataChangedMessage(this, operationData)); } }
private async Task RefreshOperationExecuted() { if (IsBusy) { return; } LoggingService.Trace("Executing OperationRootTabbedViewModel.RefreshOperationCommand"); IsBusy = true; _userDialogs.ShowLoading(); var selectedOpId = _preferences.Get(UserSettingsKeys.SelectedOp, string.Empty); if (string.IsNullOrWhiteSpace(selectedOpId)) { return; } var hasUpdated = false; try { var localData = await _operationsDatabase.GetOperationModel(selectedOpId); var updatedData = await _wasabeeApiV1Service.Operations_GetOperation(selectedOpId); if (localData != null && updatedData != null && !localData.Modified.Equals(updatedData.Modified)) { await _operationsDatabase.SaveOperationModel(updatedData); hasUpdated = true; } } catch (Exception e) { LoggingService.Error(e, "Error Executing OperationRootTabbedViewModel.RefreshOperationCommand"); } finally { IsBusy = false; _userDialogs.HideLoading(); _userDialogs.Toast(hasUpdated ? "Operation data updated" : "You already have latest OP version"); if (hasUpdated) { _messenger.Publish(new MessageFrom <OperationRootTabbedViewModel>(this)); } _messenger.Publish(new RefreshAllAgentsLocationsMessage(this)); } }