using ivf_tl_CustomControls;
using ivf_tl_Entity.Entity;
using ivf_tl_Entity.Entity.Mark;
using ivf_tl_Entity.Enums;
using ivf_tl_Manage.UserControls;
using ivf_tl_Manage.ViewModels;
using ivf_tl_Manage.Win;
using System;
using System.Collections.Generic;
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.Navigation;
using System.Windows.Shapes;
namespace ivf_tl_Manage.Views
{
///
/// MarkSettingView.xaml 的交互逻辑
///
public partial class MarkSettingView : UserControl
{
private MarkSettingViewModel vm = null;
public MarkSettingView()
{
InitializeComponent();
List te = new List();
//for (int i = 0; i < 10; i++) te.Add(i);
//this.itemscon.ItemsSource = te;
//this.itemsco1.ItemsSource = te;
Loaded += (s, e) => vm = (MarkSettingViewModel)this.DataContext;
}
private void Toast(bool success)
{
new ToastWindow(AppData.Instance.MainWindow, 1920, 65, success).Show();
}
private void ExLog(Exception ex, string name)
{
AppData.Instance.LogService.ExceptionLog(ex, $"MarkSettingView.{name}", LogEnum.RunException);
}
private void ErrorLog(string message, LogEnum logType)
{
AppData.Instance.LogService.TLLog($"MarkSettingView.{message}", logType);
}
private void checkKey_Checked(object sender, RoutedEventArgs e)
{
if (vm == null) return;
if (!(sender is RadioButtonMarkSetting source)) return;
vm.DataChange(source.TextString, source.Tag.ToString());
}
private void PaginationUserControl_PageChangedEvent(PaginationUserControl source,int obj)
{
if (vm == null) return;
vm.DataLoad(obj);
}
private void Edit_Click(object sender, RoutedEventArgs e)
{
if (vm == null) return;
if (!(sender is ButtonImage source)) return;
vm.EditEntity(source.Tag);
}
private void Del_Click(object sender, RoutedEventArgs e)
{
if (vm == null) return;
if (!(sender is ButtonImage source)) return;
vm.DeleteEntity(source.Tag);
}
private void Add_Click(object sender, RoutedEventArgs e)
{
if (vm == null) return;
vm.AddEntity();
}
private void ListBox_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e)
{
e.Handled = true;
}
private void MarkType_Checked(object sender, RoutedEventArgs e)
{
try
{
if (!(sender is CheckBoxNoFrameCustom source)) return;
if (!source.IsLoaded) return;
if (!(source.Tag is MarkModelTypeEntity markType)) return;
string error = vm.SetMarkModelTypeEntityState(markType.id, markType.state);
if (string.IsNullOrEmpty(error)) return;
Toast(false);
}
catch (Exception ex)
{
ExLog(ex, "MarkType_Checked");
}
}
private void MarkType_Unchecked(object sender, RoutedEventArgs e)
{
try
{
if (!(sender is CheckBoxNoFrameCustom source)) return;
if (!source.IsLoaded) return;
if (!(source.Tag is MarkModelTypeEntity markType)) return;
string error = vm.SetMarkModelTypeEntityState(markType.id, markType.state);
if (string.IsNullOrEmpty(error)) return;
Toast(false);
}
catch (Exception ex)
{
ExLog(ex, "MarkType_Unchecked");
}
}
private bool _markTree_MarkOperEvent(MarkEntity arg1, string arg2)
{
if (vm == null) return false;
return vm.MarkOper(arg1, arg2);
}
private void QuickButton_Checked(object sender, RoutedEventArgs e)
{
try
{
if (!(sender is CheckBoxNoFrameCustom source)) return;
if (!source.IsLoaded) return;
if (!(source.Tag is ButtonEntity markType)) return;
string error = vm.SetButtonState(markType.id, markType.state);
if (string.IsNullOrEmpty(error)) return;
Toast(false);
}
catch (Exception ex)
{
ExLog(ex, "QuickButton_Checked");
}
}
private void QuickButton_Unchecked(object sender, RoutedEventArgs e)
{
try
{
if (!(sender is CheckBoxNoFrameCustom source)) return;
if (!source.IsLoaded) return;
if (!(source.Tag is ButtonEntity markType)) return;
string error = vm.SetButtonState(markType.id, markType.state);
if (string.IsNullOrEmpty(error)) return;
Toast(false);
}
catch (Exception ex)
{
ExLog(ex, "QuickButton_Unchecked");
}
}
private bool? _markWeightTree_MarkWeightOperTreeEvent(MarkWeight arg1, OperEnum arg2)
{
if (vm == null) return false;
return vm.MarkWeightOper(arg1, arg2);
}
}
}