using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Input; using System.Windows.Controls; using Microsoft.Win32; using DriveDotNetGuiClient.SettingsObjects; using ElmoMotionControlComponents.Drive.EASComponents; using ElmoMotionControlComponents.Drive.EASComponents.UploadsAndDownloads; namespace DriveDotNetGuiClient.Commands { public class SaveFileBrowserCommand : ICommand { public bool CanExecute(object parameter) { return true; } public event EventHandler CanExecuteChanged; public void Execute(object parameter) { SaveFileDialog fdlg = new SaveFileDialog(); fdlg.RestoreDirectory = true; fdlg.FileName = GetFileName(parameter); bool? res = fdlg.ShowDialog(); if (res.HasValue && res.Value) { if (parameter is SettingsObjectViewModel) { (parameter as SettingsObjectViewModel).Path = fdlg.FileName; } } } private string GetFileName(object vm) { if (vm == null) return "File.xml"; SettingsObjectViewModel settingsVM = vm as SettingsObjectViewModel; if (settingsVM == null) return "File.xml"; switch (settingsVM.Operation) { case OPERATION_TYPE.UPLOAD_PERSONALITY: return "Personality.xml"; case OPERATION_TYPE.UPLOAD_BIN_PARAMS: return "BinParams.xml"; case OPERATION_TYPE.UPLOAD_TXT_PARAMS: return "TxtParams.xml"; case OPERATION_TYPE.UPLOAD_PROGRAM: return "Program.xml"; default: return "File.xml"; } } } }