using ivf_tl_Entity.Entity.AppSetting; using ivf_tl_Entity.Entity.Mark; using ivf_tl_Entity.Enums; using ivf_tl_Manage.Converts; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Security.Policy; 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; using System.Xml.Linq; namespace ivf_tl_Manage.Win { /// /// FuncWindow.xaml 的交互逻辑 /// public partial class FuncWindow : Window { private Business CurrentBusiness { get; set; } = null; private bool isAdd = true; public FuncWindow() { InitializeComponent(); this.Owner = AppData.Instance.MainWindow; this.Closed += (a, b) => { AppData.Instance.MainWindow.Activate(); }; } public FuncWindow(Business business) { InitializeComponent(); this.Owner = AppData.Instance.MainWindow; CurrentBusiness = business; isAdd = false; //this._title_TextBlock.Text = "编辑"; this._title_TextBlock.Text = KeyToStringConvert.GetLanguageStringByKey("0083"); this._name_TextBox.Text = business.name; this._url_TextBox.Text = business.url; if (business.state == 0) this._state_CheckBox.IsChecked = false; this.Closed += (a, b) => { AppData.Instance.MainWindow.Activate(); }; } private void Cancel_MouseUp(object sender, MouseButtonEventArgs e) { this.DialogResult = false; } private void Cancel_Click(object sender, RoutedEventArgs e) { this.DialogResult = false; } private void Ok_Click(object sender, RoutedEventArgs e) { try { string nameString = this._name_TextBox.Text.Trim(); if (string.IsNullOrEmpty(nameString)) { //MessageBoxShow($"功能名称不能为空"); MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0143")); return; } string urlString = this._url_TextBox.Text.Trim(); if (string.IsNullOrEmpty(urlString)) { //MessageBoxShow($"地址不能为空"); MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0144")); return; } int newState = 0; if (this._state_CheckBox.IsChecked == true) newState = 1; var pro = AppData.Instance.GetSettingProvider(); string error = null; if (isAdd) { string body = JsonConvert.SerializeObject(new { name = nameString, state = newState, url = urlString, }); error = pro.AddFuncApi(body); } else { string body = JsonConvert.SerializeObject(new { name = nameString, state = newState, url = urlString, id = CurrentBusiness.id }); error = pro.EditFuncApi(body); } if (!string.IsNullOrEmpty(error)) { //MessageBoxShow($"操作失败,{error}"); MessageBoxShow($"{KeyToStringConvert.GetLanguageStringByKey("0286")},{error}"); return; } if (!isAdd) { CurrentBusiness.name = nameString; CurrentBusiness.state = newState; CurrentBusiness.url = urlString; } this.DialogResult = true; return; } catch (Exception ex) { ExLog(ex, "Ok_Click"); //MessageBoxShow($"操作异常:{ex.Message}"); MessageBoxShow($"{KeyToStringConvert.GetLanguageStringByKey("0291")}:{ex.Message}"); } } private void MessageBoxShow(string mess) { this.message.Text = mess; } private void ExLog(Exception ex, string name) { AppData.Instance.LogService.ExceptionLog(ex, $"FuncWindow.{name}", LogEnum.RunException); } private void ErrorLog(string message, LogEnum logType) { AppData.Instance.LogService.TLLog($"FuncWindow.{message}", logType); } } }