using PDF_Master.DataConvert;
using PDF_Master.Helper;
using PDF_Master.Properties;
using Prism.Commands;
using Prism.Mvvm;
using Prism.Regions;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;

namespace PDF_Master.ViewModels.Dialog.ServiceDialog
{
    public class IAPCompareDialogViewModel : BindableBase,IDialogAware
    {
        
       

        public string Title => "";

        public event Action<IDialogResult> RequestClose;

        #region 文案



        #endregion


        /// <summary>
        /// 价格优惠bord
        /// </summary>
       private Visibility _Vishalfprice = Visibility.Visible;

        public Visibility Vishalfprice
        {
            get { return _Vishalfprice; }
            set
            {
                SetProperty(ref _Vishalfprice, value);
            }
        }

        
        /// <summary>
        /// 价格优惠
        /// </summary>
          private string _Textprice = "$39.99";

        public string Textprice
        {
            get { return _Textprice; }
            set
            {
                SetProperty(ref _Textprice, value);
            }
        }

        private string _Text_Signup = "";

        public string Text_Signup
        {
            get { return _Text_Signup; }
            set
            {
                SetProperty(ref _Text_Signup, value);
            }
        }

        private string _uristore = "https://www.pdfreaderpro.com/windows/store/permanent";
        public string Uristore
        {
            get { return _uristore; }
            set
            {
                SetProperty(ref _uristore, value);

            }
        }

        public DelegateCommand LinkstoreCommand { get; set; }
       
        private void InitString()
        {


        }





        public bool CanCloseDialog()
        {
            return true;
        }

        public void OnDialogClosed()
        {
           
        }

        public void OnDialogOpened(IDialogParameters parameters)
        {
            
        }


        public DelegateCommand GoLoginCommand { get; set; }
        public DelegateCommand RefreshCommand { get; set; }
       public IAPCompareDialogViewModel(IRegionManager regionManager, IDialogService dialogService)
        {
            GoLoginCommand = new DelegateCommand(GoLogin);
            LinkstoreCommand = new DelegateCommand(Linkstore);
            RefreshCommand = new DelegateCommand(Refresh);
            InitString();

          
            if (Settings.Default.UserDate.subscribestatus == 2 )
            {
                Textprice = "$79.99";
                Vishalfprice = Visibility.Collapsed;
            }
         
            else
            {

                Textprice = "$39.99";
                Vishalfprice = Visibility.Visible;
            }
        }

        private void GoLogin()
        {
            Close();
            App.mainWindowViewModel.OpenLogin();
        }



        public void Close()
        {
            RequestClose?.Invoke(new Prism.Services.Dialogs.DialogResult(ButtonResult.Cancel));
        }

        private void Linkstore()
        {

            Process.Start(new ProcessStartInfo(Uristore));
        }

        /// <summary>
        /// 刷新订阅状态按钮
        /// </summary>
        private void Refresh()
        {

            if (Settings.Default.AppProperties.LoginToken != "")
            {
                if (ServiceHelper.GetUser() == "401")
                {
                    App.mainWindowViewModel.UserVis = Visibility.Collapsed;
                    App.mainWindowViewModel.LoginVis = Visibility.Visible;
                    App.mainWindowViewModel.OphVis = Visibility.Visible;

                    if (Settings.Default.UserDate.IsLoginoff == false)
                    {
                        App.mainWindowViewModel.OpenLoginoff();
                        Settings.Default.UserDate.IsLoginoff = true;
                        Settings.Default.Save();
                    }
                }
            }
            else
            {
                App.mainWindowViewModel.UserVis = Visibility.Collapsed;
                App.mainWindowViewModel.LoginVis = Visibility.Visible;
                App.mainWindowViewModel.OphVis = Visibility.Visible;
            }


            if (Settings.Default.UserDate.subscribestatus == 1&&App.IsLogin==true)
            {
                Close();
            }
        }

    }
}