|
|
|
|
using KGIS.Framework.Core.Services;
|
|
|
|
|
using KGIS.Framework.Utils;
|
|
|
|
|
using KGIS.Framework.Utils.Helper;
|
|
|
|
|
using Kingo.Core.Authorize;
|
|
|
|
|
using KUI;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Configuration;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Windows.Media;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace JKRJ_Startup
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// MainWindow.xaml 的交互逻辑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class MainWindow : Window
|
|
|
|
|
{
|
|
|
|
|
private string guid = string.Empty;
|
|
|
|
|
private Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
|
|
|
|
public MainWindow()
|
|
|
|
|
{
|
|
|
|
|
//ListenerHelper.Instance.License(null);
|
|
|
|
|
|
|
|
|
|
//Attribute guid_attr = Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(GuidAttribute));
|
|
|
|
|
//guid = ((GuidAttribute)guid_attr).Value;
|
|
|
|
|
//if (RunIDService.VerifyModel(guid, "4a924103-02dd-4d8d-b3ea-2b26a24d6b4b") || RunIDService.VerifyModel(guid, "6c09e2e7-1b2c-4a2a-b42c-11151ad40519") || RunIDService.VerifyModel(guid, "C6273157-3215-49C1-AFB8-59A3DF96A398") || RunIDService.VerifyModel(guid, "2ef73d4e-6bfd-4b48-b964-a76b75f3b630") || RunIDService.VerifyModel(guid, "7acaaadd-f2b6-4c60-a21e-cc31640e2bd9"))
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
#region 陕西发布版本
|
|
|
|
|
//keyValuePairs.Add("单图斑建库&e8581fc9-fa1e-4a3c-8eca-6ad6d8b0d2bd_DTBJK", "DataDTBJK_DTBJK");
|
|
|
|
|
//keyValuePairs.Add("日常变更建库&08716cf2-16e4-445a-8fd6-cb50010eaa61_RCBG", "BuildDB_RCBG");
|
|
|
|
|
//keyValuePairs.Add("年度变更建库&08716cf2-16e4-445a-8fd6-cb50010eaa61_NDBG", "BuildDB_NDBG");
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 山西,青海版本
|
|
|
|
|
keyValuePairs.Add("图斑预处理&e8581fc9-fa1e-4a3c-8eca-6ad6d8b0d2bd_DTBJK", "DataDTBJK_YCLJK");
|
|
|
|
|
keyValuePairs.Add("单图斑建库&e8581fc9-fa1e-4a3c-8eca-6ad6d8b0d2bd_DTBJK", "DataDTBJK_DTBJK");
|
|
|
|
|
keyValuePairs.Add("单图斑质检&e8581fc9-fa1e-4a3c-8eca-6ad6d8b0d2bd_DTBJK", "DataDTBJK_WYZS");
|
|
|
|
|
#endregion
|
|
|
|
|
this.txtSubTitle.Content = KGIS.Framework.Utils.SysConfigsOprator.GetAppsetingValueByKey("SystemName");
|
|
|
|
|
int i = 0;
|
|
|
|
|
string ShowAllApp = ConfigurationManager.AppSettings.Get("ShowAllApp");
|
|
|
|
|
List<LicIDModel> LicModels = JsonConvert.DeserializeObject<List<LicIDModel>>(RunIDService2.Instance.Models);
|
|
|
|
|
foreach (var item in keyValuePairs.Keys)
|
|
|
|
|
{
|
|
|
|
|
string[] pra = item.Split('&');
|
|
|
|
|
LicIDModel mod = LicModels.FirstOrDefault(f => f.ID == pra[1]);
|
|
|
|
|
string tag = string.Empty;
|
|
|
|
|
if (mod != null)
|
|
|
|
|
{
|
|
|
|
|
if (mod.Models != null)
|
|
|
|
|
{
|
|
|
|
|
foreach (var subMod in mod.Models)
|
|
|
|
|
{
|
|
|
|
|
tag += subMod.ID + ";";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
tag = mod.ID;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
i++;
|
|
|
|
|
KFontIconButton btn = new KFontIconButton();
|
|
|
|
|
btn.Tag = keyValuePairs[item] + "_" + tag;
|
|
|
|
|
btn.Content = pra[0];
|
|
|
|
|
btn.IsEnabled = RunIDService2.Instance.Models.Contains(pra[1]);
|
|
|
|
|
btn.BorderThickness = new Thickness(0);
|
|
|
|
|
btn.Width = 300;
|
|
|
|
|
btn.Height = 150;
|
|
|
|
|
btn.Margin = new Thickness(40, 20, 40, 20);
|
|
|
|
|
btn.FontSize = 38;
|
|
|
|
|
btn.Foreground = System.Windows.Media.Brushes.White;
|
|
|
|
|
btn.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(240, 240, 128, 128));
|
|
|
|
|
btn.MouseOverBackground = new SolidColorBrush(System.Windows.Media.Color.FromArgb(190, 240, 128, 128));
|
|
|
|
|
btn.MouseOverBackground = new SolidColorBrush(System.Windows.Media.Color.FromArgb(190, 240, 128, 128));
|
|
|
|
|
if (i % 2 == 0)
|
|
|
|
|
{
|
|
|
|
|
btn.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(240, 135, 206, 235));
|
|
|
|
|
btn.MouseOverBackground = new SolidColorBrush(System.Windows.Media.Color.FromArgb(190, 135, 206, 235));
|
|
|
|
|
btn.PressedBackground = new SolidColorBrush(System.Windows.Media.Color.FromArgb(190, 135, 206, 235));
|
|
|
|
|
}
|
|
|
|
|
btn.FIconSize = 0;
|
|
|
|
|
btn.Click += Btn_Click;
|
|
|
|
|
if (ShowAllApp.ToLower() == "true" || btn.IsEnabled)
|
|
|
|
|
Apps.Children.Add(btn);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#region 标题栏事件
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口移动事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void TitleBar_MouseMove(object sender, MouseEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.LeftButton == MouseButtonState.Pressed)
|
|
|
|
|
{
|
|
|
|
|
this.DragMove();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
int i = 0;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 标题栏双击事件
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
i += 1;
|
|
|
|
|
System.Windows.Threading.DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
|
|
|
|
|
timer.Interval = new TimeSpan(0, 0, 0, 0, 300);
|
|
|
|
|
timer.Tick += (s, e1) => { timer.IsEnabled = false; i = 0; };
|
|
|
|
|
timer.IsEnabled = true;
|
|
|
|
|
if (i % 2 == 0)
|
|
|
|
|
{
|
|
|
|
|
timer.IsEnabled = false;
|
|
|
|
|
i = 0;
|
|
|
|
|
this.WindowState = this.WindowState == WindowState.Maximized ?
|
|
|
|
|
WindowState.Normal : WindowState.Maximized;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口最小化
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void btn_min_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.WindowState = WindowState.Minimized; //设置窗口最小化
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口最大化与还原
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void btn_max_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (this.WindowState == WindowState.Maximized)
|
|
|
|
|
{
|
|
|
|
|
this.WindowState = WindowState.Normal; //设置窗口还原
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
this.WindowState = WindowState.Maximized; //设置窗口最大化
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口关闭
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void btn_close_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
this.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion 标题栏事件
|
|
|
|
|
|
|
|
|
|
private void Btn_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
KFontIconButton btn = (sender as KFontIconButton);
|
|
|
|
|
if (btn.Tag == null) return;
|
|
|
|
|
string[] str = btn.Tag.ToString().Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
|
|
|
|
|
string args = string.Empty;
|
|
|
|
|
for (int i = 1; i < str.Length; i++)
|
|
|
|
|
{
|
|
|
|
|
args += $" {str[i]}";
|
|
|
|
|
}
|
|
|
|
|
var psi = new ProcessStartInfo("Kingo." + str[0] + ".exe", $"{args}");
|
|
|
|
|
psi.UseShellExecute = false;
|
|
|
|
|
psi.CreateNoWindow = true;
|
|
|
|
|
psi.RedirectStandardError = true;
|
|
|
|
|
psi.RedirectStandardInput = true;
|
|
|
|
|
psi.RedirectStandardOutput = true;
|
|
|
|
|
|
|
|
|
|
var pes = Process.Start(psi);
|
|
|
|
|
|
|
|
|
|
this.WindowState = WindowState.Minimized;
|
|
|
|
|
this.ShowInTaskbar = false;
|
|
|
|
|
|
|
|
|
|
var sout = pes.StandardOutput;
|
|
|
|
|
while (!sout.EndOfStream)
|
|
|
|
|
{
|
|
|
|
|
var line = sout.ReadLine();
|
|
|
|
|
if (String.IsNullOrEmpty(line)) continue;
|
|
|
|
|
}
|
|
|
|
|
pes.WaitForExit();
|
|
|
|
|
pes.Close();
|
|
|
|
|
|
|
|
|
|
this.WindowState = WindowState.Normal;
|
|
|
|
|
this.ShowInTaskbar = true;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class LicIDModel
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string ID { get; set; }
|
|
|
|
|
/// <summary>
|
|
|
|
|
///
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<LicIDModel> Models { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|