using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using PDF_Master.Helper; using PDF_Master.Model; using PDF_Master.Properties; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; namespace PDF_Master.ViewModels.Dialog.ServiceDialog { public class LoginDialogViewModel : BindableBase, IDialogAware { public IDialogService dialogs; public IRegionManager Region; public string Title => "登录窗口"; private string Loginoff; public event Action RequestClose; private bool _IsReset=false; public bool IsReset { get { return _IsReset; } set { _IsReset = value; } } private string _PasswordCode=""; public string PasswordCode { get { return _PasswordCode; } set { _PasswordCode = value; } } private string _LoginRegionName; public string LoginRegionName { get { return _LoginRegionName; } set { _LoginRegionName = value; } } private string _LoginEmail; public string LoginEmail { get { return _LoginEmail; } set { _LoginEmail = value; } } private string _LoginPassword; public string LoginPassword { get { return _LoginPassword; } set { _LoginPassword = value; } } private string _TextUnlock; public string TextUnlock { get { return _TextUnlock; } set { _TextUnlock = value; } } private string _TextRegisteras; public string TextRegisteras { get { return _TextRegisteras; } set { _TextRegisteras = value; } } private string _TextEditPDF; public string TextEditPDF { get { return _TextEditPDF; } set { _TextEditPDF = value; } } private string _Textediting; public string Textediting { get { return _Textediting; } set { _Textediting = value; } } private string _TextConvert; public string TextConvert { get { return _TextConvert; } set { _TextConvert = value; } } private string _TextLimit10; public string TextLimit10 { get { return _TextLimit10; } set { _TextLimit10 = value; } } private string _TextConvertPDF; public string TextConvertPDF { get { return _TextConvertPDF; } set { _TextConvertPDF = value; } } private string _TextOrganize; public string TextOrganize { get { return _TextOrganize; } set { _TextOrganize = value; } } private string _TextInsert; public string TextInsert { get { return _TextInsert; } set { _TextInsert = value; } } private string _TextMore; public string TextMore { get { return _TextMore; } set { _TextMore = value; } } private string _TextSuch; public string TextSuch { get { return _TextSuch; } set { _TextSuch = value; } } private string _TextSubscribeNow; public string TextSubscribeNow { get { return _TextSubscribeNow; } set { _TextSubscribeNow = value; } } public bool CanCloseDialog() { return true; } public void OnDialogClosed() { App.LoginOpen = false; } public void OnDialogOpened(IDialogParameters parameters) { if (ServiceHelper.IsConnectInternet() == false) { RegionMan("NOInternetRegion"); } else { RegionMan("LoginRegion"); } parameters.TryGetValue(ParameterNames.Loginoff, out Loginoff); if (Loginoff != null) { LoginEmail = Settings.Default.UserDate.Email; IsReset = true; RegionMan("CodeRegion"); } } private void InitString() { TextUnlock = App.ServiceLoader.GetString("TextUnlock"); TextRegisteras = App.ServiceLoader.GetString("TextRegisteras"); TextEditPDF = App.ServiceLoader.GetString("TextEditPDF"); Textediting = App.ServiceLoader.GetString("Textediting"); TextConvert = App.ServiceLoader.GetString("TextConvert"); TextLimit10 = App.ServiceLoader.GetString("TextLimit10"); TextConvertPDF = App.ServiceLoader.GetString("TextConvertPDF"); TextOrganize = App.ServiceLoader.GetString("TextOrganize"); TextInsert = App.ServiceLoader.GetString("TextInsert"); TextMore = App.ServiceLoader.GetString("TextMore"); TextSuch = App.ServiceLoader.GetString("TextSuch"); TextSubscribeNow = App.ServiceLoader.GetString("TextSubscribeNow"); } public DelegateCommand LinkstoreCommand { get; set; } public DelegateCommand OpenIAPCommand { get; set; } LoginDialogViewModel(IRegionManager regionManager, IDialogService dialogService) { LinkstoreCommand = new DelegateCommand(Linkstore); OpenIAPCommand = new DelegateCommand(OpenIAP); dialogs = dialogService; this.Region = regionManager; LoginRegionName = Guid.NewGuid().ToString(); InitString(); } private void OpenIAP() { dialogs.ShowDialog(DialogNames.IAPCompareDialog); } private void Linkstore() { Process.Start(new ProcessStartInfo("https://www.pdfreaderpro.com/windows/store/permanent")); } public void Close() { RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel)); } public void RegionMan(string name) { NavigationParameters param = new NavigationParameters(); param.Add("LoginDialogViewModel", this); param.Add("IsReset", IsReset); Region.RequestNavigate(LoginRegionName, name, e => { var r = e.Result; }, param); } } }