using Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; 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 Audit.View { /// /// MachinesView.xaml 的交互逻辑 /// public partial class MachinesView : UserControl { public MachinesView() { InitializeComponent(); } private Machines machines = new Machines();//最终存入sql的实体 private Machines machines_temp = new Machines();//取出自sql的实体缓存 public static Boolean Button_sql = true; public static int Buttontype_sql = -1; private void DataGridStuff_MouseDoubleClick(object sender, MouseButtonEventArgs e) { int rownum = DataGridMachines.SelectedIndex;//获取鼠标选中行并定义变量 if (rownum != -1)//判断鼠标定位是否有效 { string DataGridMachines_Name = (DataGridMachines.Columns[0].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第0列, string DataGridMachines_ChemicalStation = (DataGridMachines.Columns[1].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第1列, string DataGridMachines_ChemicalDispenser = (DataGridMachines.Columns[5].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第2列, string DataGridMachines_Chemicale = (DataGridMachines.Columns[6].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第2列, string DataGridMachines_DyeDispenser = (DataGridMachines.Columns[8].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第3列, string DataGridMachines_Dyee = (DataGridMachines.Columns[9].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第3列, string DataGridMachines_PowderDispenser = (DataGridMachines.Columns[11].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第4列, string DataGridMachines_Powdere = (DataGridMachines.Columns[12].GetCellContent(DataGridMachines.Items[rownum]) as TextBlock).Text;//定位第4列, name.Text = DataGridMachines_Name.Trim(); Station.Text = DataGridMachines_ChemicalStation.Trim(); chemicaldispenser.Text = DataGridMachines_ChemicalDispenser.Trim(); dyedispenser.Text = DataGridMachines_DyeDispenser.Trim(); powderdispenser.Text = DataGridMachines_PowderDispenser.Trim(); if (DataGridMachines_Chemicale == "1") this.chemicaldispenser_operate.Text = "启用"; else this.chemicaldispenser_operate.Text = "禁用"; if (DataGridMachines_Dyee == "1") this.dyedispenser_operate.Text = "启用"; else this.dyedispenser_operate.Text = "禁用"; if (DataGridMachines_Powdere == "1") this.powderdispenser_operate.Text = "启用"; else this.powderdispenser_operate.Text = "禁用"; this.operate.Text =null;//清除附属操作 machines_temp.Name = DataGridMachines_Name;//写入sql实体缓存 } } private void Button_Preservation(object sender, RoutedEventArgs e)//存储按钮 { int int_operate = 0; Regex re_char = new Regex(@"^[A-Za-z0-9\s@()()/+!!_-]+$");//校验用正则表达式由数字,26个英文字母,空白字符和@()()/+!!_-组成的字符串 if (this.operate.Text == "") int_operate = 0;//创建机台 if (this.operate.Text == "清除工单") int_operate = 1;//附属操作 if (this.operate.Text == "助剂完成") int_operate = 2; if (this.operate.Text == "染料完成") int_operate = 3; if (this.operate.Text == "粉体完成") int_operate = 4; if (this.operate.Text == "修改信息") int_operate = 5; if (re_char.IsMatch(this.name.Text) == false) System.Windows.MessageBox.Show("ERR.C0201:无效的机台信息", "错误");//检查机台代码 else if (string.IsNullOrEmpty(this.Station.Text)) System.Windows.MessageBox.Show("ERR.C0201-2:无效的机台信息", "错误");//检查机台名称 else { if (int_operate == 0)//创建机台 { machines.Name = this.name.Text; machines.DispenseDyelot = null; machines.DyeDispenseDyelot = null; machines.ChemicalStation = this.Station.Text; machines.DyeStation = this.Station.Text; machines.PowderStation = this.Station.Text; machines.ChemicalDispenser = this.chemicaldispenser.Text; machines.DyeDispenser = this.dyedispenser.Text; machines.PowderDispenser = this.powderdispenser.Text; machines.ChemicalCallOff = 0; machines.ChemicalCallOff2 = 0; machines.ChemicalState = 101; machines.ChemicalState2 = 101; machines.DyeCallOff = 0; machines.DyeState = 101; machines.PowderCallOff = 0; machines.PowderState = 101; if (this.chemicaldispenser_operate.Text == "启用") machines.ChemicalEnabled = 1; else machines.ChemicalEnabled = 0; if (this.dyedispenser_operate.Text == "启用") machines.DyeEnabled = 1; else machines.DyeEnabled = 0; if (this.powderdispenser_operate.Text == "启用") machines.PowderEnabled = 1; else machines.PowderEnabled = 0; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { var count = new MachinesProvider().Insert(machines);//添加数据库信息 Button_sql = true; if (count == 0) MessageBox.Show("ERR.C0210-2:机台创建失败", "错误"); } else { System.Windows.MessageBox.Show("ERR.C0211:机台已存在终止操作", "错误");//判断执行是否成功 } } if (int_operate == 1)//清除信息 { machines.Name = this.name.Text; machines.DispenseDyelot = null; machines.DyeDispenseDyelot = null; machines.ChemicalCallOff = 0; machines.ChemicalCallOff2 = 0; machines.ChemicalState = 101; machines.ChemicalState2 = 101; machines.DyeCallOff = 0; machines.DyeState = 101; machines.PowderCallOff = 0; machines.PowderState = 101; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功 } else { var count = new MachinesProvider().Update1(machines);//添加数据库信息。 Button_sql = true; if (count == 0) MessageBox.Show("ERR.C0210-2:机台创建失败", "错误"); } } if (int_operate == 2)//助剂完成 { machines.Name = this.name.Text; machines.ChemicalCallOff = 0; machines.ChemicalCallOff2 = 0; machines.ChemicalState = 101; machines.ChemicalState2 = 101; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功 } else { var count = new MachinesProvider().Update2(machines);//修改数据库信息。 Button_sql = true; if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功 } } if (int_operate == 3)//染料完成 { machines.Name = this.name.Text; machines.DyeCallOff = 0; machines.DyeState = 101; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功 } else { var count = new MachinesProvider().Update3(machines);//修改数据库信息。 Button_sql = true; if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功 } } if (int_operate == 4)//粉体完成 { machines.Name = this.name.Text; machines.PowderCallOff = 0; machines.PowderState = 101; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功 } else { var count = new MachinesProvider().Update4(machines);//添加数据库信息。 Button_sql = true; if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-1:信息修改失败", "错误");//判断执行是否成功 } } if (int_operate == 5)//修改机台 { machines.Name = this.name.Text; machines.DispenseDyelot = null; machines.DyeDispenseDyelot = null; machines.ChemicalStation = this.Station.Text; machines.DyeStation = this.Station.Text; machines.PowderStation = this.Station.Text; machines.ChemicalDispenser = this.chemicaldispenser.Text; machines.DyeDispenser = this.dyedispenser.Text; machines.PowderDispenser = this.powderdispenser.Text; machines.ChemicalCallOff = 0; machines.ChemicalCallOff2 = 0; machines.ChemicalState = 101; machines.ChemicalState2 = 101; machines.DyeCallOff = 0; machines.DyeState = 101; machines.PowderCallOff = 0; machines.PowderState = 101; if (this.chemicaldispenser_operate.Text == "启用") machines.ChemicalEnabled = 1; else machines.ChemicalEnabled = 0; if (this.dyedispenser_operate.Text == "启用") machines.DyeEnabled = 1; else machines.DyeEnabled = 0; if (this.powderdispenser_operate.Text == "启用") machines.PowderEnabled = 1; else machines.PowderEnabled = 0; if (new MachinesProvider().Selectsql(machines).Count == 0)//判断数据库设定目标信息是否存在。 { System.Windows.MessageBox.Show("ERR.C0202-5:机台信息错误", "错误");//执行是否成功 } else { var count = new MachinesProvider().Update(machines);//添加数据库信息 Button_sql = true; if (count == 0) MessageBox.Show("ERR.C0210-2:机台修改失败", "错误"); } } } } private void Button_Delete(object sender, RoutedEventArgs e)//删除按钮 { machines.Name = this.name.Text;//原料代码 string ShowProductName = "是否删除机台【" + this.name.Text + "】" + this.Station.Text;//获取原料信息并拼接提示字符串 MessageBoxResult showProductName = System.Windows.MessageBox.Show(ShowProductName, "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.Yes);//弹窗提示是否删除目标原料 if (showProductName == MessageBoxResult.Yes)//判断是否删除原料 { var count = new MachinesProvider().Delete(machines_temp);//删除数据库目标信息。 if (count == 0) System.Windows.MessageBox.Show("ERR.C0210-2:删除失败", "错误");//判断执行是否成功 else Button_sql = true; } } } }