WdSetup.xaml.cs 2.82 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
using FLY.Thick.Base.Server;
using FlyADBase;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace FLY.Thick.FilmCasting.UI.Server
{
    /// <summary>
    /// WdSetup.xaml 的交互逻辑
    /// </summary>
    public partial class WdSetup : Window
    {
        WdSetupVm viewModel;
        public WdSetup()
        {
            InitializeComponent();
        }
        public void Init(SysParam sysParam,FlyAD7 flyAd, InitParam initParam) 
        {
            viewModel = new WdSetupVm();
            viewModel.Init(sysParam, flyAd, initParam);
            this.DataContext = viewModel;
        }
    }
    public class WdSetupVm : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        public string Addr { get; set; }
        public string FlyAdAddr { get; set; }
        
        public int DbKeepMonth { get; set; }
        public string DbDirPath { get; set; }


        public RelayCommand OkCmd { get; private set; }

        SysParam sysParam;
        FlyAD7 flyAd;
        InitParam initParam;
        public WdSetupVm() 
        {
            OkCmd = new RelayCommand(Ok);
        }



        public void Init(SysParam sysParam, FlyAD7 flyAd, InitParam initParam) 
        {
            this.sysParam = sysParam;
            this.flyAd = flyAd;
            this.initParam = initParam;
            Addr = sysParam.Addr;
            FlyAdAddr = flyAd.Addr;

            DbKeepMonth = initParam.DBKeepMonth;
69 70 71
            if (DbKeepMonth > 0 && DbKeepMonth < 12)
                DbKeepMonth = 12;

72 73 74 75 76 77
            DbDirPath = initParam.DbDirPath;
        }

        private void Ok()
        {

78 79 80 81 82 83 84 85 86
            if (DbKeepMonth>0 && DbKeepMonth < 12) 
            {
                if (MessageBox.Show($"数据库容量 最小值为12个月", "提示") == MessageBoxResult.No)
                {
                    DbKeepMonth = 12;
                    return;
                }
            }

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
            if (MessageBox.Show($"程序必须重启才能执行新的参数, 是否重启?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
            {
                return;
            }

            sysParam.Addr = Addr;
            sysParam.Save();

            flyAd.Addr = FlyAdAddr;
            flyAd.Save();

            initParam.DbDirPath = DbDirPath;
            initParam.DBKeepMonth = DbKeepMonth;

            System.Environment.CurrentDirectory = "../";
            AppHelper.AppJustOne.Restart();
        }
    }
}