FModel/FModel/ViewModels/Commands/AddEditDirectoryCommand.cs
2023-06-18 02:34:54 +02:00

36 lines
1.1 KiB
C#

using AdonisUI.Controls;
using FModel.Framework;
using FModel.Settings;
using FModel.Views;
namespace FModel.ViewModels.Commands;
public class AddEditDirectoryCommand : ViewModelCommand<CustomDirectoriesViewModel>
{
public AddEditDirectoryCommand(CustomDirectoriesViewModel contextViewModel) : base(contextViewModel)
{
}
public override void Execute(CustomDirectoriesViewModel contextViewModel, object parameter)
{
if (parameter is not CustomDirectory customDir)
customDir = new CustomDirectory();
Helper.OpenWindow<AdonisWindow>("Custom Directory", () =>
{
var index = contextViewModel.GetIndex(customDir);
var input = new CustomDir(customDir);
var result = input.ShowDialog();
if (!result.HasValue || !result.Value || string.IsNullOrEmpty(customDir.Header) && string.IsNullOrEmpty(customDir.DirectoryPath))
return;
if (index > 1)
{
contextViewModel.Edit(index, customDir);
}
else
contextViewModel.Add(customDir);
});
}
}