public async void Load() { bool success = true; string error = ""; FinishLoading = false; await Task.Run(() => { try { var result = IOSerializeDeserialize.Deserialize(); if (result.Status.Success) { if (result.Data.Count > 0) { var list = result.Data.Select(x => ShutdownModelConverter.ConvertTo(x)); ShutdownModelCollection = new ObservableCollection <ShutdownModelEx>(list); } else { ShutdownModelCollection = new ObservableCollection <ShutdownModelEx>(); } } else { success = false; error = result.Status.ErrorMessage; } } catch (Exception ex) { success = false; error = $"An error occured. {ex.Message}"; } }); //to avoid cross thread exception if (success) { OnInfoRequested("Data Loaded Successfully"); FinishLoading = true; } else { OnErrorOccured(error); } }
private void StartContinueService() { try { string filename = Global.GetDataFileLocation(); if (File.Exists(filename)) { var result = IOSerializeDeserialize.Deserialize(); if (result.Status.Success) { _list = result.Data; if (_list.Count > 0) { _isTimerRunning = true; _timer.Start(); } else { _isTimerRunning = false; } } else { _isTimerRunning = false; } } else { LogError($"---> {DateTime.Now} Error: Data file is not found"); } } catch (Exception ex) { LogError($"---> {DateTime.Now} {ex.Message}"); } }
private async void AddEditRemoveOperation(string mode) { try { bool success = true; string error = ""; OnInfoRequested("Loading..."); await Task.Run(() => { try { List <ShutdownModel> list; if (ShutdownModelCollection.Count > 0) { list = ShutdownModelCollection.Select(x => ShutdownModelConverter.ConvertFrom(x)).ToList(); } else { list = new List <ShutdownModel>(); } var result = IOSerializeDeserialize.Serialize(list); if (!result.Success) { success = false; error = result.ErrorMessage; } else { result = Controller.RefreshService(); if (!result.Success) { success = false; error = $"Data {mode} successfully. But, service generated error. {result.ErrorMessage}"; } } } catch (Exception ex) { success = false; error = $"An error occured. {ex.Message}"; } }); if (success) { OnInfoRequested($"Data {mode} successfully"); if (mode == "edited") { SelectedModel.EndEdit(); } } else { OnErrorOccured(error); if (mode == "edited") { SelectedModel.CancelEdit(); } } } catch (Exception ex) { OnErrorOccured(ex.Message); } }