using SunlightCentralizedControlManagement_SCCM_.WindowsView;
using System;
using System.Collections.Generic;
using System.Data;
using System.Windows;
using System.Windows.Controls;
using static SunlightCentralizedControlManagement_SCCM_.UserClass.SqliteHelper;
namespace SunlightCentralizedControlManagement_SCCM_.View
{
///
/// ProgramgroupView.xaml 的交互逻辑
///
public partial class ProgramgroupView : UserControl
{
public ProgramgroupView()
{
InitializeComponent();
Programgroup_sql();
string[] group_data = { "en-US", "zh-CN", "zh-TW" };
Group.ItemsSource = group_data;
}
private SQLiteHelper SQLiteHelpers = null; //定义数据库
private readonly string DBAddress = Environment.CurrentDirectory + "\\DataBase\\SCCM.db"; //数据库路径
DataSet sql; //内存数据缓存
public void Programgroup_sql()
{
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
string sql_script = "select * from ProgramName order by ProgramID desc";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
if (sql != null) Grid.ItemsSource = sql.Tables[0].DefaultView; //转换显示计划表
SQLiteHelpers.Close(); //关闭连接
}
private void ProgramgroupView_edit_Click(object sender, RoutedEventArgs e)
{
/*if (Programgroup_ID == null) return;
container.Content = new ProgramstepsView();*/
}
public static string Programgroup_Numder { get; set; }
public static string Programgroup_ID { get; set; }
private void Grid_PreviewMouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)//表格选择事件
{
int rownum = Grid.SelectedIndex;//获取鼠标选中行并定义变量
if (rownum != -1)//判断鼠标定位是否有效
{
Programgroup_ID = (Grid.Columns[0].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第0列,
Programgroup_Numder = (Grid.Columns[1].GetCellContent(Grid.Items[rownum]) as TextBlock).Text;//定位第1列,
}
edit.IsEnabled = true;
Rename.IsEnabled = true;
Remark.IsEnabled = true;
Delete.IsEnabled = true;
}
private void Grid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)//双击表格编辑事件
{
}
private void ListViewItem_New(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
InputBox frm = new InputBox();
frm.Accept += new EventHandler(InputBox_new_accept);
frm.ShowDialog();
}
void InputBox_new_accept(object sender, EventArgs e)//新建按钮窗口返回
{
//事件的接收者通过一个简单的类型转换得到InputBox的引用
InputBox frm = (InputBox)sender;
//接收到InputBox的TextBox值
string VALUE = frm.InputValue;
string ID = DateTime.Now.ToString("yyMMddHHmmss"); //id为时间合
Dictionary Program_new = new Dictionary();//缓存函数
Program_new.Add("ProgramName", VALUE);
Program_new.Add("ProgramID", ID);
Program_new.Add("Groups", Group.Text);
Program_new.Add("Step", "0");
Program_new.Add("Time", "0:00");
Program_new.Add("Notes", null);
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.InsertData("ProgramName", Program_new);// 执行插入
SQLiteHelpers.Close(); //关闭连接
Programgroup_Numder = VALUE;
Programgroup_ID = ID;
Programgroup_sql();
}
private void ListViewItem_edit(object sender, System.Windows.Input.MouseButtonEventArgs e)//编辑事件
{
edit.IsEnabled = false;
Rename.IsEnabled = false;
Remark.IsEnabled = false;
Delete.IsEnabled = false;
}
private void ListViewItem_Rename(object sender, System.Windows.Input.MouseButtonEventArgs e)//重命名
{
edit.IsEnabled = false;
Rename.IsEnabled = false;
Remark.IsEnabled = false;
Delete.IsEnabled = false;
if (Programgroup_ID == null) return;
InputBox frm = new InputBox();
frm.Accept += new EventHandler(InputBox_Rename_accept);
frm.ShowDialog();
}
void InputBox_Rename_accept(object sender, EventArgs e)//重命名按钮窗口返回
{
//事件的接收者通过一个简单的类型转换得到InputBox的引用
InputBox frm = (InputBox)sender;
//接收到InputBox的TextBox值
string VALUE = frm.InputValue;
Dictionary Program_Rename = new Dictionary();//缓存函数
Program_Rename.Add("ProgramName", VALUE);
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Update("ProgramName", Program_Rename, "ProgramID='" + Programgroup_ID + "'", null);
SQLiteHelpers.Close(); //关闭连接
Programgroup_sql();
Programgroup_Numder = null;
Programgroup_ID = null;
}
private void ListViewItem_Remark(object sender, System.Windows.Input.MouseButtonEventArgs e)//备注
{
edit.IsEnabled = false;
Rename.IsEnabled = false;
Remark.IsEnabled = false;
Delete.IsEnabled = false;
if (Programgroup_ID == null) return;
InputBox frm = new InputBox();
frm.Accept += new EventHandler(InputBox_Remark_accept);
frm.ShowDialog();
}
void InputBox_Remark_accept(object sender, EventArgs e)//备注按钮窗口返回
{
//事件的接收者通过一个简单的类型转换得到InputBox的引用
InputBox frm = (InputBox)sender;
//接收到InputBox的TextBox值
string VALUE = frm.InputValue;
Dictionary Program_Remark = new Dictionary();//缓存函数
Program_Remark.Add("Notes", VALUE);
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Update("ProgramName", Program_Remark, "ProgramID='" + Programgroup_ID + "'", null);
SQLiteHelpers.Close(); //关闭连接
Programgroup_sql();
Programgroup_Numder = null;
Programgroup_ID = null;
}
private void ListViewItem_Delete(object sender, System.Windows.Input.MouseButtonEventArgs e)//删除
{
edit.IsEnabled = false;
Rename.IsEnabled = false;
Remark.IsEnabled = false;
Delete.IsEnabled = false;
if (Programgroup_Numder == null) return;
///弹窗提示确认删除
if (System.Windows.Forms.MessageBox.Show(Properties.Resources.Confirm + Properties.Resources.Delete + Programgroup_Numder, "Delete ",
System.Windows.Forms.MessageBoxButtons.OKCancel, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
{
///执行删除
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.Delete("ProgramName", "ProgramID='" + Programgroup_ID + "'", null);
SQLiteHelpers.Close();
Programgroup_sql();
}
Programgroup_Numder = null;
Programgroup_ID = null;
}
}
}