⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stock.aspx.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 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 + -