📄 stock.aspx.cs
字号:
namespace PowerEasy.WebSite.Admin.Shop
{
using PowerEasy.Common;
using PowerEasy.Controls;
using PowerEasy.Enumerations;
using PowerEasy.Model.Shop;
using PowerEasy.Shop;
using PowerEasy.Web.UI;
using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
public class Stock : AdminPage
{
protected Button BtnSave;
protected DatePicker DpkInputTime;
protected ExtendedGridView EgvStockItem;
protected HiddenField HdnStockType;
protected Label LblStockNum;
protected Label LblTitle;
protected LinkButton LbtnAddProduct;
protected ExtendedSiteMapPath SmpNavigator;
protected TextBox TxtInpter;
protected TextBox TxtRemark;
protected PowerEasy.Controls.RequiredFieldValidator ValrUnit;
private void AddProduct(string eventArgument)
{
string[] strArray = eventArgument.Split(new string[] { "$" }, StringSplitOptions.RemoveEmptyEntries);
IList<StockItemInfo> stockItemInfoList = this.StockItemInfoList;
foreach (string str in strArray)
{
string[] strArray2 = str.Split(new char[] { ',' });
int id = DataConverter.CLng(strArray2[0]);
if (strArray2[3] == "1")
{
PresentInfo presentById = PowerEasy.Shop.Present.GetPresentById(id);
if (!presentById.IsNull)
{
StockItemInfo item = new StockItemInfo();
item.ProductId = presentById.PresentId;
item.ProductName = presentById.PresentName;
item.ProductNum = presentById.PresentNum;
item.Price = presentById.Price;
item.Unit = presentById.Unit;
stockItemInfoList.Add(item);
}
}
else
{
ProductInfo productById = Product.GetProductById(id);
if (!productById.IsNull)
{
StockItemInfo info4 = new StockItemInfo();
info4.ProductId = productById.ProductId;
info4.TableName = productById.TableName;
info4.ProductName = productById.ProductName;
info4.ProductNum = productById.ProductNum;
info4.Property = strArray2[2];
info4.Price = productById.PriceInfo.Price;
info4.Unit = productById.Unit;
stockItemInfoList.Add(info4);
}
}
}
this.StockItemInfoList = stockItemInfoList;
this.EgvStockItem.DataSource = stockItemInfoList;
this.EgvStockItem.DataBind();
}
private void AddProductStock(IList<StockItemInfo> stockItemInfoList, int op)
{
foreach (StockItemInfo info in stockItemInfoList)
{
if (string.IsNullOrEmpty(info.TableName))
{
PowerEasy.Shop.Present.AddStocks(info.ProductId, op * info.Amount);
continue;
}
Product.AddStocks(info.ProductId, op * info.Amount, info.Property);
}
}
protected void BtnSave_Click(object sender, EventArgs e)
{
StockInfo stockInfo = new StockInfo();
stockInfo.Inputer = this.TxtInpter.Text.Trim();
stockInfo.InputTime = this.DpkInputTime.Date;
stockInfo.Remark = StringHelper.SubString(this.TxtRemark.Text, 200, "");
stockInfo.StockNum = this.LblStockNum.Text;
stockInfo.StockType = (StockType) Enum.Parse(typeof(StockType), this.HdnStockType.Value);
this.UpdateStockItemInfoList();
if (this.StockItemInfoList.Count == 0)
{
AdminPage.WriteErrMsg("单据不能没有商品!");
}
bool flag = false;
if (BasePage.RequestString("Action") == "Modify")
{
stockInfo.StockId = BasePage.RequestInt32("ID");
flag = PowerEasy.Shop.StockManage.Update(stockInfo);
if (flag)
{
IList<StockItemInfo> listByStockId = StockItem.GetListByStockId(stockInfo.StockId);
int op = (this.HdnStockType.Value == StockType.InStock.ToString()) ? -1 : 1;
this.AddProductStock(listByStockId, op);
StockItem.DeleteByStockIds(stockInfo.StockId.ToString());
StockItem.Add(this.StockItemInfoList, stockInfo.StockId);
this.AddProductStock(this.StockItemInfoList, -1 * op);
}
}
else
{
stockInfo.StockId = PowerEasy.Shop.StockManage.GetMaxId() + 1;
flag = PowerEasy.Shop.StockManage.Add(stockInfo);
if (flag)
{
StockItem.Add(this.StockItemInfoList, stockInfo.StockId);
int num2 = (stockInfo.StockType == StockType.Shipment) ? -1 : 1;
this.AddProductStock(this.StockItemInfoList, num2);
}
}
if (flag)
{
AdminPage.WriteSuccessMsg("保存成功!", "StockManage.aspx");
}
else
{
AdminPage.WriteErrMsg("保存失败!");
}
}
protected void EgvStockItem_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label label = e.Row.FindControl("LblProductName") as Label;
if (label != null)
{
StockItemInfo dataItem = (StockItemInfo) e.Row.DataItem;
if (!string.IsNullOrEmpty(dataItem.Property))
{
label.Text = dataItem.ProductName + "(" + dataItem.Property + ")";
}
else if (string.IsNullOrEmpty(dataItem.TableName))
{
label.Text = dataItem.ProductName + "(促销)";
}
else
{
label.Text = dataItem.ProductName;
}
}
}
}
protected void EgvStockItem_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
this.UpdateStockItemInfoList();
IList<StockItemInfo> stockItemInfoList = this.StockItemInfoList;
stockItemInfoList.RemoveAt(e.RowIndex);
this.StockItemInfoList = stockItemInfoList;
this.EgvStockItem.DataSource = this.StockItemInfoList;
this.EgvStockItem.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
string str = BasePage.RequestString("Action", "InStock");
int id = BasePage.RequestInt32("ID");
string str3 = str;
if (str3 != null)
{
if (!(str3 == "InStock"))
{
if (str3 == "Shipment")
{
this.LblTitle.Text = "添加出库单";
this.LblStockNum.Text = StockItem.GetShipmentNum();
this.DpkInputTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
this.HdnStockType.Value = StockType.Shipment.ToString();
}
else if (str3 == "Modify")
{
this.LblTitle.Text = "修改单据记录";
if (id > 0)
{
StockInfo stockInfoById = PowerEasy.Shop.StockManage.GetStockInfoById(id, true);
if (!stockInfoById.IsNull)
{
this.LblStockNum.Text = stockInfoById.StockNum;
this.DpkInputTime.Text = stockInfoById.InputTime.ToString("yyyy-MM-dd HH:mm:ss");
this.TxtInpter.Text = stockInfoById.Inputer;
this.TxtRemark.Text = stockInfoById.Remark;
this.HdnStockType.Value = stockInfoById.StockType.ToString();
this.StockItemInfoList = StockItem.GetListByStockId(id);
}
}
}
}
else
{
this.LblTitle.Text = "添加入库单";
this.LblStockNum.Text = StockItem.GetInStockNum();
this.DpkInputTime.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
this.HdnStockType.Value = StockType.InStock.ToString();
}
}
this.EgvStockItem.DataSource = this.StockItemInfoList;
this.EgvStockItem.DataBind();
this.TxtRemark.Attributes.Add("onpropertychange", "CheckLength(this)");
this.TxtRemark.Attributes.Add("oninput", "CheckLength(this)");
}
string str2 = base.Request.Params.Get("__EVENTARGUMENT");
if ((base.Request.Params.Get("__EVENTTARGET") == "AddProductButton") && !string.IsNullOrEmpty(str2))
{
this.AddProduct(str2);
}
}
private void UpdateStockItemInfoList()
{
IList<StockItemInfo> stockItemInfoList = this.StockItemInfoList;
foreach (GridViewRow row in this.EgvStockItem.Rows)
{
stockItemInfoList[row.RowIndex].Amount = DataConverter.CLng(((TextBox) row.FindControl("TxtAmount")).Text);
stockItemInfoList[row.RowIndex].Price = DataConverter.CDecimal(((TextBox) row.FindControl("TxtPrice")).Text);
}
this.StockItemInfoList = stockItemInfoList;
}
private IList<StockItemInfo> StockItemInfoList
{
get
{
if (this.ViewState["InfoList"] == null)
{
return new List<StockItemInfo>();
}
return (this.ViewState["InfoList"] as IList<StockItemInfo>);
}
set
{
this.ViewState["InfoList"] = value;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -