using Prism.Commands; using Prism.Mvvm; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Windows; using TeamAAS_VP.Core; using TeamAAS_VP.Models; using TeamAAS_VP.Models.Feeder; using TeamAAS_VP.Resources.Languages; namespace TeamAAS_VP.ViewModels.Setting { public class AddScrewFeederViewModel : BindableBase, IDialogAware { private ScrewFeederInfo _SelectedScrewFeeder; public ScrewFeederInfo SelectedScrewFeeder { get { return _SelectedScrewFeeder; } set { SetProperty(ref _SelectedScrewFeeder, value); } } private DelegateCommand _ConfirmCommand; public DelegateCommand ConfirmCommand => _ConfirmCommand ?? (_ConfirmCommand = new DelegateCommand(ExecuteConfirmCommand)); void ExecuteConfirmCommand() { if (string.IsNullOrEmpty(SelectedScrewFeeder.Name)) { return; } if (!FileHelper.CheckFileName(SelectedScrewFeeder.Name)) { MessageBox.Show(Lang.AddCameraVM_message1, "AAS", MessageBoxButton.OK, MessageBoxImage.Error); return; } IDialogParameters parameters = new DialogParameters(); parameters.Add("ScrewFeeder", SelectedScrewFeeder); Tuple rest = new Tuple(false, SelectedScrewFeeder); RequestClose?.Invoke(new DialogResult(ButtonResult.OK, parameters)); } private DelegateCommand _CancelCommand; public DelegateCommand CancelCommand => _CancelCommand ?? (_CancelCommand = new DelegateCommand(ExecuteCancelCommand)); void ExecuteCancelCommand() { IDialogParameters parameters = new DialogParameters(); parameters.Add("ScrewFeeder", SelectedScrewFeeder); Tuple rest = new Tuple(false, SelectedScrewFeeder); RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel, parameters)); } public AddScrewFeederViewModel() { } public string Title { get; set; } = Lang.添加螺丝供料器; public event Action RequestClose; public bool CanCloseDialog() { return true; } public void OnDialogClosed() { } public void OnDialogOpened(IDialogParameters parameters) { Title = Lang.增加螺丝供料器; SelectedScrewFeeder = new ScrewFeederInfo() { Id = Guid.NewGuid() }; } } }