private async void ExportWorkersCommand(object parameter) { var window = new SelectWorkers(); window.SizeToContent = SizeToContent.WidthAndHeight; var vm = new SelectWorkersVM(); vm.Workers = Workers.WorkerList; bool[] queries = SaveQueries(); window.DataContext = vm; vm.Title = "Export Workers"; vm.ButtonTitle = "Export"; var dialogResult = window.ShowDialog(); if (dialogResult == false) { RestoreQueries(queries); return; } var workersToSave = Workers.WorkerList.Where(x => x.Query).ToList(); if (workersToSave == null || workersToSave.Count == 0) { RestoreQueries(queries); return; } SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "JSON file|*.json"; saveFileDialog.OverwritePrompt = true; var saveDialogResult = saveFileDialog.ShowDialog(); if (saveDialogResult == false) { RestoreQueries(queries); return; } var json = JsonConverter.ConvertToJson(workersToSave); if (json == null) { await Task.Delay(100); MessageBox.Show("Failed to convert selected workers to JSON format", "Error", MessageBoxButton.OK, MessageBoxImage.Error); RestoreQueries(queries); return; } string jsonFormatted = JsonConverter.FormatJson(json); Helpers.WriteToTxtFile(saveFileDialog.FileName, jsonFormatted); RestoreQueries(queries); }
private void UpdateCoinsCommand(object obj) { var window = new SelectWorkers(); window.Width = 400; window.Height = 300; var vm = new SelectWorkersVM(showNotes: true); vm.Title = "Update Coins In Workers"; vm.ButtonTitle = "Update"; var workersCopy = new ObservableCollection <Worker>(); bool[] queries = SaveQueries(); vm.Workers = Workers.WorkerList; window.DataContext = vm; var dialogResult = window.ShowDialog(); RestoreQueries(queries); }
private async void ImportWorkersCommand(object parameter) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "JSON file|*.json"; var openFileDialogResult = openFileDialog.ShowDialog(); if (openFileDialogResult == false || string.IsNullOrEmpty(openFileDialog.FileName)) { return; } string workersContent = null; ObservableCollection <Worker> convertedWorkers = null; try { workersContent = System.IO.File.ReadAllText(openFileDialog.FileName); } catch { await Task.Delay(100); MessageBox.Show($"There was an error while reading from \"{openFileDialog.FileName}\"", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } convertedWorkers = JsonConverter.ConvertFromJson <ObservableCollection <Worker> >(workersContent, false); if (convertedWorkers == null || convertedWorkers.Count == 0) { await Task.Delay(100); Helpers.ShowErrorMessage($"Failed to intepret JSON information from \"{openFileDialog.FileName}\"", "Error"); return; } var window = new SelectWorkers(); window.SizeToContent = SizeToContent.WidthAndHeight; var vm = new SelectWorkersVM(); vm.Workers = convertedWorkers; foreach (var worker in vm.Workers) { worker.Query = true; } window.DataContext = vm; vm.Title = "Import Workers"; vm.ButtonTitle = "Import"; var dialogResult = window.ShowDialog(); if (dialogResult == false) { return; } var selectedWorkers = vm.Workers.Where(x => x.Query).ToList(); if (selectedWorkers == null || selectedWorkers.Count == 0) { return; } var workerIndex = Workers.WorkerList.IndexOf((Worker)parameter); Workers.WorkerListAddRangeAt(selectedWorkers, workerIndex); }