JD2022-TU1/main/tools/modules/JD.Guinness.WPF.Module/Model/XBoxSeriesX/XBoxSeriesXConfiguration.cs

46 lines
1.4 KiB
C#

using System.Linq;
using JD.Guinness.WPF.Module.Configuration.XBoxSeriesX;
using JD.Guinness.WPF.Module.Extension;
using Plume.WPF.Mvvm;
namespace JD.Guinness.WPF.Module.Model.XBoxSeriesX
{
public sealed class XBoxSeriesXConfiguration : BindableBase, IWarnable
{
private bool _generate;
private string _settingsFilePath;
private string _warnings;
public bool Generate
{
get => _generate;
set => SetProperty(ref _generate, value);
}
public string SettingsFilePath
{
get => _settingsFilePath;
set => SetProperty(ref _settingsFilePath, value);
}
public string Warnings
{
get => _warnings;
set => SetProperty(ref _warnings, value);
}
public DispatcherObservableCollection<Selectable<LanguageInfo>> Languages { get; }
public XBoxSeriesXConfiguration()
{
Languages = new DispatcherObservableCollection<Selectable<LanguageInfo>>();
}
public XBoxSeriesXConfigurationSave ToSave(string workspacePath) => new XBoxSeriesXConfigurationSave
{
Generate = Generate,
SettingsFilePath = SettingsFilePath.ToRelativePath(workspacePath),
Languages = Languages.Where(s => s.IsSelected).Select(s => s.Value.Id).ToArray()
};
}
}