Files
17168ERP/web/admin/item/index.aspx.cs
2025-08-29 01:27:25 +08:00

414 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
public partial class admin_item_index : MyWeb.config
{
DataTable treeDt = new DataTable();
const int LevelMax = MyWeb.item.KindLevelMax; //分類層數
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
BuildTreeView();
if (!isStrNull(Request["num"]))
{
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "SELECT * FROM item Where num=?";
sqlCmd.Parameters.Add(new OleDbParameter("num", Request["num"]));
DataTable dt = sql.dataTable(sqlCmd);
if (dt.Rows.Count > 0)
{
title_msg.Text = "修改<span class=\"text-primary\">【" + dt.Rows[0]["title"].ToString() + "】</span>的選項資料";
item_name.Text = dt.Rows[0]["title"].ToString();
url.Text = dt.Rows[0]["url"].ToString();
target.SelectedValue = dt.Rows[0]["target"].ToString();
price.Text = dt.Rows[0]["price"].ToString();
demo.Text = dt.Rows[0]["demo"].ToString();
other.Text = dt.Rows[0]["other"].ToString();
other_url.Text = dt.Rows[0]["other_url"].ToString();
HiddenField1.Value = dt.Rows[0]["title"].ToString();
}
}
catch (Exception ex)
{
Response.Write("PageLoad:" + ex.Message);
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
edit.Visible = true;
add.Visible = false;
down_table.Visible = true;
start.Visible = false;
}
else {
table.Visible = false;
down_table.Visible = false;
if (Request["msg"] == "A"){start.Text = "【資料修改成功】";}
else if (Request["msg"] == "B"){start.Text = "【資料新增成功】";}
else if (Request["msg"] == "C") { start.Text = "【資料刪除成功】"; }
else { start.Text = "【請點選下方欲新增、修改或刪除的選項分類】"; }
}
}
}
#region TreeView選單
protected void TreeTopology()
{
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "SELECT num,title,root FROM item ORDER BY root, range";
treeDt = sql.dataTable(sqlCmd);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
sqlConn.Close();
sqlConn.Dispose();
}
}
public void BuildTreeView() {
this.TreeView2.Nodes.Clear();
TreeTopology();
BuildChild(0, this.TreeView2.Nodes);
treeDt.Dispose();
}
public void BuildChild(int RootUid, TreeNodeCollection Nodes,int Level=1)
{
DataTable dt = treeDt;
if (dt.Rows.Count == 0 & RootUid == 0)
{
delall.Visible = false;
}
else if (dt.Rows.Count > 0 & RootUid == 0)
{
delall.Visible = true;
}
foreach (DataRow row in dt.Rows)
{
if (row["root"].ToString() == RootUid.ToString())
{
TreeNode newNode = new TreeNode();
if (Convert.ToString(Request["num"]) == row["num"].ToString() & this.HiddenField1.Value != "AddMainItem")
{
newNode.Text = "<b><span style=\"color:blue\">" + row["title"].ToString() + "</span></b>";
if (Level + 1 > LevelMax) { ImageButton5.Visible = false; }
}
else
{
newNode.Text = row["title"].ToString();
}
newNode.Value = row["num"].ToString();
newNode.ShowCheckBox = true;
newNode.NavigateUrl = "index.aspx?num=" + row["num"].ToString();
newNode.Expand();
Nodes.Add(newNode);
if (Level + 1 <= LevelMax)
{
BuildChild((int)row["num"], newNode.ChildNodes, Level + 1);
}
}
}
}
#endregion
#region
protected void edit_Click(object sender, EventArgs e)
{
L_msg.Text = "";
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "UPDATE item SET title=?, url=?, price=?, demo=?, other=?, target=?, other_url=? WHERE num=?";
sqlCmd.Parameters.Add(new OleDbParameter("title", this.item_name.Text));
sqlCmd.Parameters.Add(new OleDbParameter("url", this.url.Text));
sqlCmd.Parameters.Add(new OleDbParameter("price", this.price.Text));
sqlCmd.Parameters.Add(new OleDbParameter("demo", this.demo.Text));
sqlCmd.Parameters.Add(new OleDbParameter("other", this.other.Text));
sqlCmd.Parameters.Add(new OleDbParameter("target", this.target.SelectedValue));
sqlCmd.Parameters.Add(new OleDbParameter("other_url", this.other_url.Text));
sqlCmd.Parameters.Add(new OleDbParameter("num", Request["num"]));
sqlCmd.ExecuteNonQuery();
sqlConn.Close(); sqlConn.Dispose();
L_msg.Type = alert_type.success;
L_msg.Text = "操作成功";
}
catch (Exception ex)
{
//ScriptMsgTop("操作失敗!", msgIcon.error);
start.Text = ex.Message;
L_msg.Type = alert_type.danger;
L_msg.Text = "ex.Message";
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
BuildTreeView();
}
#endregion
#region
protected void add_Click(object sender, EventArgs e)
{
L_msg.Text = "";
int range_num = 1;
MyWeb.sql sql = new MyWeb.sql();
DataTable dt = sql.selectTable(db, p_name, "SELECT top 1 range FROM item order by range desc");
if (dt.Rows.Count > 0) {
range_num = (int)dt.Rows[0]["range"] + 1;
}
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
string cu = "title,url,price,demo,other,target,root,range,other_url";
sqlCmd.CommandText = "INSERT INTO item (" + cu + ") VALUES (" + sql.mark(cu) + ")";
sqlCmd.Parameters.Add(new OleDbParameter("title", item_name.Text));
sqlCmd.Parameters.Add(new OleDbParameter("url", url.Text));
sqlCmd.Parameters.Add(new OleDbParameter("price", price.Text));
sqlCmd.Parameters.Add(new OleDbParameter("demo", demo.Text));
sqlCmd.Parameters.Add(new OleDbParameter("other", other.Text));
sqlCmd.Parameters.Add(new OleDbParameter("target", target.SelectedValue));
sqlCmd.Parameters.Add(new OleDbParameter("root", (HiddenField1.Value == "AddMainItem"? "0": Convert.ToString(Request["num"]))));
sqlCmd.Parameters.Add(new OleDbParameter("range", range_num));
sqlCmd.Parameters.Add(new OleDbParameter("other_url", other_url.Text));
sqlCmd.ExecuteNonQuery();
L_msg.Type = alert_type.success;
L_msg.Text = "操作成功";
}
catch (Exception ex)
{
L_msg.Type = alert_type.danger;
L_msg.Text = "ex.Message";
start.Text = ex.Message;
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
BuildTreeView();
}
#endregion
#region
protected void delall_Click(object sender, EventArgs e)
{
int j = 0;
for (int i = 0; i < TreeView2.CheckedNodes.Count; i++) {
if (TreeView2.CheckedNodes[i].Checked) {
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "Delete from item Where num=?";
sqlCmd.Parameters.Add(new OleDbParameter("num", TreeView2.CheckedNodes[i].Value));
sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
Del_Ohter_Items(Convert.ToInt32(TreeView2.CheckedNodes[i].Value));
j++;
}
}
if (j > 0)
{
Response.Redirect("index.aspx?msg=C");
}
else {
ScriptMsg("請勾選要刪除的項目", "", msgIcon.warning);
}
}
protected void ImageButton6_Click(object sender, EventArgs e)
{
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "Delete from item Where num=?";
sqlCmd.Parameters.Add(new OleDbParameter("num", Request["num"]));
sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
Del_Ohter_Items(Convert.ToInt32(Request["num"]));
Response.Redirect("index.aspx?msg=C");
}
public void Del_Ohter_Items(int d_num)
{
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "SELECT * FROM item Where root=?";
sqlCmd.Parameters.Add(new OleDbParameter("root", d_num));
DataTable dt = sql.dataTable(sqlCmd);
for (int i = 0; i < dt.Rows.Count; i++) {
sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "Delete from item Where root=?";
sqlCmd.Parameters.Add(new OleDbParameter("root", d_num));
sqlCmd.ExecuteNonQuery();
Del_Ohter_Items((int)dt.Rows[i]["num"]);
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
}
#endregion
#region
protected void ImageButton4_Click(object sender, EventArgs e)
{
title_msg.Text = "於根目錄下,新增主選項資料";
table.Visible = true;
item_name.Text = "";
url.Text = "";
target.SelectedValue = "A";
price.Text = "";
demo.Text = "";
other.Text = "";
other_url.Text = "";
add.Visible = true;
edit.Visible = false;
down_table.Visible = false;
start.Visible = false;
HiddenField1.Value = "AddMainItem";
BuildTreeView();
}
protected void ImageButton5_Click(object sender, EventArgs e)
{
title_msg.Text = "於<span class=text-primary>【" + HiddenField1.Value + "】</span>分類下,新增選項資料";
item_name.Text = "";
url.Text = "";
target.SelectedValue = "A";
price.Text = "";
demo.Text = "";
other.Text = "";
add.Visible = true;
edit.Visible = false;
down_table.Visible = false;
start.Visible = false;
}
#endregion
protected void Button1_Click(object sender, EventArgs e)
{
MyWeb.sql sql = new MyWeb.sql();
OleDbConnection sqlConn = sql.conn(db, p_name);
try
{
sqlConn.Open();
OleDbCommand sqlCmd = new OleDbCommand("", sqlConn);
sqlCmd.CommandText = "Delete from item Where num=?";
sqlCmd.Parameters.Add(new OleDbParameter("num", Request["num"]));
sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
sqlConn.Close(); sqlConn.Dispose();
}
Del_Ohter_Items(Convert.ToInt32(Request["num"]));
Response.Redirect("index.aspx?msg=C");
}
protected void sortButton_Click(object sender, EventArgs e)
{
Response.Redirect("range.aspx");
}
}