private async void OnClearList()
        {
            OnInfoRequested(LanguageChanger.Instance["BlackListVm_Code4"]);
            await Task.Run(() =>
            {
                var result = _ioSecurity.StoreData(new List <ProcessModel>());
                if (result.Success)
                {
                    _isError = false;
                    OnInfoRequested(LanguageChanger.Instance["BlackListVm_Code5"]);
                    var refreshResult = _serviceLifetimeController.RefreshService();
                    if (refreshResult.Success)
                    {
                        OnInfoRequested(LanguageChanger.Instance["BlackListVm_Code6"]);
                    }
                    else
                    {
                        OnError(refreshResult.ErrorMessage);
                    }
                }
                else
                {
                    OnError(result.ErrorMessage);
                    OnInfoRequested(LanguageChanger.Instance["BlackListVm_Code7"]);
                }
            });

            if (!_isError)
            {
                BlackList.Clear(); //to avoid CrossThreadException
            }
        }
예제 #2
0
        private async void OnAdd()
        {
            OnInfoRequested(LanguageChanger.Instance["AddItemsVm_Code1"]);
            await Task.Run(() =>
            {
                var result = _ioSecurity.RetrieveData();
                if (result.MainResult.Success)
                {
                    List <ProcessModel> list = (from item in ItemsToAdd
                                                select _ioSecurity.CreateProcessModel(item).Data).ToList();
                    int itemsAdded = 0;
                    foreach (ProcessModel model in list)
                    {
                        if (!result.Data.Any(x => x.ProcessName.Equals(model.ProcessName, StringComparison.InvariantCultureIgnoreCase)))
                        {
                            result.Data.Add(model);
                            itemsAdded++;
                        }
                    }
                    if (itemsAdded > 0)
                    {
                        var addResult = _ioSecurity.StoreData(result.Data);
                        if (addResult.Success)
                        {
                            OnInfoRequested(LanguageChanger.Instance["AddItemsVm_Code2"]);
                            var refreshResult = _serviceLifetimeController.RefreshService();
                            if (refreshResult.Success)
                            {
                                OnInfoRequested(LanguageChanger.Instance["AddItemsVm_Code3"]);
                            }
                            else
                            {
                                OnError(refreshResult.ErrorMessage);
                            }
                        }
                        else
                        {
                            OnError(addResult.ErrorMessage);
                        }
                    }
                    else
                    {
                        OnInfoRequested(LanguageChanger.Instance["AddItemsVm_Code4"]);
                    }
                }
                else
                {
                    OnError(LanguageChanger.Instance["AddItemsVm_Code5"]);
                }
            });

            ItemsToAdd.Clear();
        }