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);
            }
        }
示例#2
0
 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);
            }
        }