📄 admin_products.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class admin_products : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
pnlEdit.Visible = false;
pnlGrid.Visible = true;
if (!Page.IsPostBack) {
if (Request.QueryString["p"] != null) {
//load the drop down
LoadCategoryDrop();
string productID = Request.QueryString["p"].ToString();
if (productID != "0") {
LoadEditor(int.Parse(productID));
} else {
LoadAddForm();
}
} else {
LoadProductList();
}
}
}
void ToggleGrid(bool showGrid) {
//toggle the panels
pnlEdit.Visible = !showGrid;
pnlGrid.Visible = showGrid;
}
void LoadAddForm(){
ToggleGrid(false);
tblInventory.Visible = false;
btnSave.Text = "Add";
trID.Visible = false;
trAmountOnHand.Visible = false;
chkIsActive.Checked = true;
btnPerm.Visible = false;
}
void LoadEditor(int productID) {
ToggleGrid(false);
btnPerm.Attributes.Add("onclick", "CheckDelete()");
//load the product reader
Product product = new Product();
product.Load(CatalogManager.GetProduct(productID));
//load up the form
ddlCategoryID.SelectedValue = product.CategoryID.ToString();
txtModelName.Text = product.ModelName;
txtModelNumber.Text = product.ModelNumber;
txtSKU.Text = product.SKU;
txtProductImage.Text = product.ProductImage;
imgProductImage.ImageUrl = "../images/ProductImages/" + product.ProductImage;
txtDescription.Text = product.Description;
txtUnitCost.Text = product.UnitCost.ToString();
lblID.Text = product.ProductID.ToString();
chkIsActive.Checked = product.IsActive;
txtWeight.Text = product.Weight.ToString();
txtDiscount.Text = product.DiscountPercent.ToString();
lblAmountOnHand.Text = product.AmountOnHand.ToString();
if (product.AmountOnHand <= 0) {
tdAmountOnHand.BgColor = "#990000";
lblAmountOnHand.ForeColor = System.Drawing.Color.FromName("white");
} else if (product.AmountOnHand <= 5) {
tdAmountOnHand.BgColor = "ffffcc";
lblAmountOnHand.ForeColor = System.Drawing.Color.FromName("#990000");
} else {
tdAmountOnHand.BgColor = "white";
}
//load the history
LoadInventoryHistory(product.ProductID);
}
void LoadProductList() {
dgProducts.DataSource = CatalogManager.GetProducts();
dgProducts.DataBind();
}
void LoadInventoryHistory(int productID) {
dgInventory.DataSource = CatalogManager.GetInventoryHistory(productID);
dgInventory.DataBind();
}
void LoadCategoryDrop() {
ddlCategoryID.DataSource = CatalogManager.GetCategories();
ddlCategoryID.DataTextField = "CategoryName";
ddlCategoryID.DataValueField = "CategoryID";
ddlCategoryID.DataBind();
}
protected void btnAdjustInventory_Click(object sender, EventArgs e) {
int adjustment = int.Parse(txtAmountOnHand.Text);
CatalogManager.AdjustInventory(int.Parse(lblID.Text), -adjustment, "Administrative adjustment by " + User.Identity.Name + " on " + DateTime.Now.ToString());
//redirect to avoid the refresh problem
Response.Redirect("admin_products.aspx?p=" + lblID.Text);
}
protected void OnHandCheck(object sender, EventArgs e) {
}
protected void InventoryCheck(object sender, GridViewRowEventArgs e) {
string sAmount=e.Row.Cells[5].Text;
try {
int amountOnHand = Convert.ToInt32(sAmount);
if (amountOnHand <= 0) {
e.Row.Cells[5].BackColor = System.Drawing.Color.FromName("#990000");
e.Row.Cells[5].ForeColor = System.Drawing.Color.FromName("white");
} else if (amountOnHand <= 5) {
e.Row.Cells[5].BackColor = System.Drawing.Color.FromName("#ffffcc");
}
} catch {
}
}
protected void btnDelete_Click(object sender, EventArgs e) {
CatalogManager.InactivateProduct(int.Parse(lblID.Text));
Response.Redirect("admin_products.aspx");
}
protected void btnSave_Click(object sender, EventArgs e) {
Product product = new Product();
product.CategoryID = int.Parse(ddlCategoryID.SelectedValue);
product.ModelNumber = txtModelNumber.Text;
product.ModelName = txtModelName.Text;
product.ProductImage = txtProductImage.Text;
product.UnitCost = double.Parse(txtUnitCost.Text);
product.Description = txtDescription.Text;
product.AmountOnHand = 0;
product.SKU = txtSKU.Text;
product.IsActive = chkIsActive.Checked;
product.Weight = Convert.ToDouble(txtWeight.Text);
product.DiscountPercent = int.Parse(txtDiscount.Text);
bool haveError = false;
int newID = 0;
if (lblID.Text != "") {
product.ProductID = int.Parse(lblID.Text);
//it's an edit
ToggleGrid(false);
uResult.Visible = true;
try {
CatalogManager.UpdateProduct(product);
//load it up again
LoadEditor(product.ProductID);
uResult.ShowSuccess("商品已更新");
} catch(Exception x) {
haveError = true;
uResult.ShowFail("错误: " + x.Message);
}
} else {
//it's an insert
try {
newID = CatalogManager.AddProduct(product);
} catch (Exception x) {
haveError = true;
uResult.Visible = true;
uResult.ShowFail("错误: " + x.Message);
}
if(!haveError)
Response.Redirect("admin_products.aspx?p=" + newID.ToString());
}
}
protected void btnPerm_Click(object sender, EventArgs e) {
uResult.Visible = true;
ToggleGrid(false);
try {
CatalogManager.PermanentDelete(int.Parse(lblID.Text));
uResult.ShowSuccess("商品已经临时删除");
tblInventory.Visible = false;
btnSave.Enabled = false;
btnPerm.Enabled = false;
} catch (Exception x) {
uResult.ShowFail("不能删除该商品 - 目前有订单与该商品关联");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -