LicenseVM.cs 2.73 KB
using HHECS.Application.Licenses;
using HHECS.Infrastructure.CommonHelper;
using HHECS.WinCommon.ViewModel;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using MessageBox = HandyControl.Controls.MessageBox;

namespace HHECS.WinClient.View.UserPermission
{
    public class LicenseVM : VMBase
    {

        public LicenseModel LicenseModel { get; set; }

        public string LicenseStatus { get; set; }

        public string LicenseDetail { get; set; }

        public string LicenseStr { get; set; }

        public Window Owner { get; set; }

        public LicenseVM()
        {
            Init();
        }

        private void Init()
        {
            var result = App.PermissionService.GetLicense();
            if (result.Success)
            {
                LicenseModel = result.Data;
                var result2 = App.PermissionService.CheckLicense(result.Data, App.LicenseId);
                LicenseStatus = result2.Msg;
                LicenseDetail = result.Data.ToString();
            }
            else
            {
                LicenseDetail = "无";
                LicenseStatus = result.Msg;
            }
        }

        public void UpdateLicense()
        {
            if (string.IsNullOrWhiteSpace(LicenseStr))
            {
                MessageBox.Show("请录入授权文件");
            }
            else
            {
                var str = EncodeHelper.AESDecrypt(LicenseStr, App.PermissionService.MK);
                if (string.IsNullOrWhiteSpace(str))
                {
                    MessageBox.Show("授权文件无效");
                }
                else
                {
                    LicenseModel model = JsonConvert.DeserializeObject<LicenseModel>(str);
                    var result = App.PermissionService.CheckLicense(model, App.LicenseId);
                    if (result.Success)
                    {
                        var result2 = App.PermissionService.UpdateLicense(model);
                        if (result2.Success)
                        {
                            LicenseStatus = result.Msg;
                            LicenseDetail = model.ToString();
                            MessageBox.Show("更新授权成功");
                            Owner.DialogResult = true;
                        }
                        else
                        {
                            MessageBox.Show(result2.Msg);
                        }
                    }
                    else
                    {
                        MessageBox.Show(result.Msg, "失败");
                    }
                }
            }
        }
    }
}