mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
using System.Threading.Tasks;
|
|
using Artemis.UI.Shared.Services.Dialog;
|
|
using FluentValidation;
|
|
using Stylet;
|
|
|
|
namespace Artemis.UI.Screens.Module.ProfileEditor.Dialogs
|
|
{
|
|
public class ProfileCreateViewModel : DialogViewModelBase
|
|
{
|
|
private string _profileName;
|
|
|
|
public ProfileCreateViewModel(IModelValidator<ProfileCreateViewModel> validator) : base(validator)
|
|
{
|
|
}
|
|
|
|
public string ProfileName
|
|
{
|
|
get => _profileName;
|
|
set => SetAndNotify(ref _profileName, value);
|
|
}
|
|
|
|
public async Task Accept()
|
|
{
|
|
await ValidateAsync();
|
|
|
|
if (HasErrors)
|
|
return;
|
|
|
|
Session.Close(ProfileName);
|
|
}
|
|
|
|
public void Cancel()
|
|
{
|
|
Session.Close();
|
|
}
|
|
}
|
|
|
|
public class ProfileCreateViewModelValidator : AbstractValidator<ProfileCreateViewModel>
|
|
{
|
|
public ProfileCreateViewModelValidator()
|
|
{
|
|
RuleFor(m => m.ProfileName).NotEmpty().WithMessage("Profile name may not be empty");
|
|
}
|
|
}
|
|
} |