73 lines
1.7 KiB
C#
73 lines
1.7 KiB
C#
using Common.Library;
|
|
using Gready_Poang.EntityLayer;
|
|
using Gready_Poang.Services;
|
|
using Gready_Poang.ViewModelLayer;
|
|
using System.Windows.Input;
|
|
|
|
|
|
namespace Gready_Poang.CommandClasses;
|
|
|
|
public class ParticipantViewModelCommands : ParticipantViewModel
|
|
{
|
|
#region constructors
|
|
public ParticipantViewModelCommands() : base()
|
|
{
|
|
}
|
|
|
|
public ParticipantViewModelCommands(
|
|
IRepository<Participant> repo,
|
|
IMethodSharingService<Participant> sharingService,
|
|
AppShellViewModel appShell,
|
|
IObjectMessageService objectMessage) : base(repo, sharingService, appShell, objectMessage)
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Private Variables
|
|
private bool _IsSaveCommandEnabled = true;
|
|
#endregion
|
|
|
|
#region Public Properties
|
|
public bool IsSaveCommandEnabled
|
|
{
|
|
get { return _IsSaveCommandEnabled; }
|
|
set
|
|
{
|
|
_IsSaveCommandEnabled = value;
|
|
RaisePropertyChanged(nameof(IsSaveCommandEnabled));
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Commands
|
|
public ICommand SaveCommand { get; private set; }
|
|
public ICommand EditCommand { get; private set; }
|
|
#endregion
|
|
|
|
#region Init Method
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
SaveCommand = new Command(async () => SaveAsync(), () => IsSaveCommandEnabled);
|
|
EditCommand = new Command<int>(async (id) => await EditAsync(id), (id) => id > 0);
|
|
}
|
|
#endregion
|
|
|
|
protected async Task EditAsync(int id)
|
|
{
|
|
await Shell.Current.GoToAsync($"{nameof(Views.ParticipantListView)}?id={id}");
|
|
}
|
|
|
|
public async Task<bool> SaveAsync()
|
|
{
|
|
var ret = base.Save();
|
|
if (ret)
|
|
{
|
|
await Shell.Current.GoToAsync("..");
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
}
|