using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
using UIShare.PubEvent;
using UIShare.ViewModelBase;

namespace LoginModule.ViewModels
{
    public class LoginViewModel: NavigateViewModelBase
    {
        #region 属性
        private string _Password;
        public string Password
        {
            get => _Password;
            set => SetProperty(ref _Password, value);
        }
        private string _Account;
        public string Account
        {
            get => _Account;
            set => SetProperty(ref _Account, value);
        }
        #endregion
        public ICommand LoginCommand { get; set; }
        public ICommand RegisterCommand { get; set; }
        private IEventAggregator _eventAggregator;
        public LoginViewModel(IContainerProvider containerProvider) : base(containerProvider)
        {
            _eventAggregator = containerProvider.Resolve<IEventAggregator>();
            LoginCommand = new AsyncDelegateCommand(OnLogin);
            RegisterCommand = new AsyncDelegateCommand(OnRegister);
        }

        private async Task OnRegister()
        {
            _regionManager.RequestNavigate("LoginRegion", "RegisterView");
        }

        private async Task OnLogin()
        {
            _eventAggregator.GetEvent<LoginSuccessEvent>().Publish();
        }
    }
}
