?? invoiceadd.aspx.cs
字號:
?using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Model;
namespace 金利來分銷管理系統.Invoice
{
public partial class InvoiceAdd : System.Web.UI.Page
{
bool x = true;
DataTable dt;
//實例化的BLL層
BLL.Invoice.InvoiceBll bllshow;
BLL.Goods.ProductBll productbllshow;
BLL.Store.StoreBll storeIDshow;
List<Model.Invoice.InvoiceModel> show = new List<Model.Invoice.InvoiceModel>();
public InvoiceAdd()
{
bllshow = new BLL.Invoice.InvoiceBll();
productbllshow = new BLL.Goods.ProductBll();
storeIDshow = new BLL.Store.StoreBll();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
//將所有商品編號添加到DropDownList
List<Model.Goods.ProductModel> productid = productbllshow.SelectProductID();
foreach (var item in productid)
{
this.ddlProductID.Items.Add(item.product_id);
}
//將單據類型名稱添加到DropDownList
List<Model.Invoice.InvoiceModel> invoicetype = bllshow.InvoiceTypeSelect();
foreach (var item in invoicetype)
{
this.ddlTypeName.Items.Add(item.invoice_type_name);
}
//獲取當天時間
this.lblInvoiceID.Text = "ZB" + DateTime.Now.ToString("yyyyMMddhhmmssfff");
}
}
//創建一張虛擬表
private void createDT()
{
dt = new DataTable();
dt.Columns.Add("商品ID");
dt.Columns.Add("商品顏色");
dt.Columns.Add("尺碼1");
dt.Columns.Add("尺碼2");
dt.Columns.Add("尺碼3");
dt.Columns.Add("尺碼4");
dt.Columns.Add("尺碼5");
dt.Columns.Add("尺碼6");
dt.Columns.Add("尺碼7");
dt.Columns.Add("數量");
dt.Columns.Add("始");
dt.Columns.Add("至");
}
//當商品編號選擇項發生改變時
protected void ddlProductID_SelectedIndexChanged(object sender, EventArgs e)
{
//當未選擇商品編號時
if (this.ddlProductID.Text == "請選擇商品編號")
{
//提示“請選擇商品編號”
this.lblproductidcheck.Visible = true;
}
else
{
//提示框“請選擇商品編號”
this.lblproductidcheck.Visible = false;
}
//顏色框的值清空
ddlColor.Items.Clear();
txtProductName.Text = "";
//獲取商品信息
List<Model.Goods.ProductModel> p = productbllshow.SelectProductByID(this.ddlProductID.Text);
foreach (Model.Goods.ProductModel item in p)
{
ddlColor.Items.Add(item.producttype_color);
this.txtProductName.Text = item.product_name;
this.lblsize1.Text = item.producttype_s1.ToString();
this.lblsize2.Text = item.producttype_s2.ToString();
this.lblsize3.Text = item.producttype_s3.ToString();
this.lblsize4.Text = item.producttype_s4.ToString();
this.lblsize5.Text = item.producttype_s5.ToString();
this.lblsize6.Text = item.producttype_s6.ToString();
this.lblsize7.Text = item.producttype_s7.ToString();
}
//尺碼的文本框歸零
this.txtSize1.Text = "0";
this.txtSize2.Text = "0";
this.txtSize3.Text = "0";
this.txtSize4.Text = "0";
this.txtSize5.Text = "0";
this.txtSize6.Text = "0";
this.txtSize7.Text = "0";
}
//當點擊‘提交’按鈕時
protected void btnSubmit_Click(object sender, EventArgs e)
{
//‘請至少選擇一件商品’lable隱藏
this.lblSum.Visible = false;
//‘請檢查庫存數量’lable隱藏
this.lblShow.Visible = false;
//當商品編號選擇項不是‘請選擇商品編號’,即有選定值時
if (this.ddlProductID.SelectedValue != "請選擇商品編號")
{
//當選擇了單據的類型時,才運行以下功能
if (this.ddlTypeName.Text != "請選擇單據類型")
{
//門店編號選擇項有選定值時
if (ddlstorego.Text != "請選擇門店編號" && ddlstoreto.Text != "請選擇門店編號")
{
//如果ViewState["dt"]之前沒有被創建
if (ViewState["dt"] == null)
{
createDT();
}
//ViewState["dt"]之前已被創建,那么把ViewState["dt"]的值給dt
else
{
dt = (DataTable)ViewState["dt"];
}
//dt虛擬表添加新值
DataRow dr = dt.NewRow();
dr[0] = this.ddlProductID.Text.Trim();
dr[1] = this.ddlColor.Text;
dr[2] = this.txtSize1.Text;
dr[3] = this.txtSize2.Text;
dr[4] = this.txtSize3.Text;
dr[5] = this.txtSize4.Text;
dr[6] = this.txtSize5.Text;
dr[7] = this.txtSize6.Text;
dr[8] = this.txtSize7.Text;
dr[9] = Convert.ToInt32(this.txtSize1.Text) + Convert.ToInt32(this.txtSize2.Text) + Convert.ToInt32(this.txtSize3.Text) + Convert.ToInt32(this.txtSize4.Text) + Convert.ToInt32(this.txtSize5.Text) + Convert.ToInt32(this.txtSize6.Text) + Convert.ToInt32(this.txtSize7.Text);
dr[10] = this.ddlstorego.Text;
dr[11] = this.ddlstoreto.Text;
int s1 = int.Parse(this.txtSize1.Text);
int s2 = int.Parse(this.txtSize2.Text);
int s3 = int.Parse(this.txtSize3.Text);
int s4 = int.Parse(this.txtSize4.Text);
int s5 = int.Parse(this.txtSize5.Text);
int s6 = int.Parse(this.txtSize6.Text);
int s7 = int.Parse(this.txtSize7.Text);
//如果數量都是為“零”
if (int.Parse(dr[9].ToString()) == 0)
{
//‘請至少選擇一件商品’lable顯示
this.lblSum.Visible = true;
}
//大于零的時候
else
{
//通過商品在庫存中的編號,顏色以及庫存編號查找尺碼是否大于所填寫的數據
Model.Store.StoreModel storemodel = storeIDshow.SelectStoreByProduct(int.Parse(this.ddlstorego.Text), this.ddlProductID.Text, this.ddlColor.Text);
//在dt表里的每一行循環
foreach (DataRow item in dt.Rows)
{
//提交的信息,與dt表里存在的信息做對比
if (int.Parse(this.ddlstorego.Text) == Convert.ToInt32(item[10]) && this.ddlProductID.Text.Trim() == item[0].ToString() && this.ddlColor.Text.Trim() == item[1].ToString())
{
//開始記錄該倉庫,該商品,該顏色,在dt表里已存在的尺碼數量
s1 += Convert.ToInt32(item[2]);
s2 += Convert.ToInt32(item[3]);
s3 += Convert.ToInt32(item[4]);
s4 += Convert.ToInt32(item[5]);
s5 += Convert.ToInt32(item[6]);
s6 += Convert.ToInt32(item[7]);
s7 += Convert.ToInt32(item[8]);
//該倉庫,該商品,該顏色的信息,是否小于(提交的信息加dt表里所對應的信息)
if (storemodel.store_size1 < s1 || storemodel.store_size2 < s2 || storemodel.store_size3 < s3 || storemodel.store_size4 < s4 || storemodel.store_size5 < s5 || storemodel.store_size6 < s6 || storemodel.store_size7 < s7)
{
this.lblShow.Visible = true;
//如果小于添加的數額,跳出
return;
}
}
}
if (storemodel.store_size1 < int.Parse(this.txtSize1.Text) || storemodel.store_size2 < int.Parse(this.txtSize2.Text) || storemodel.store_size3 < int.Parse(this.txtSize3.Text) || storemodel.store_size4 < int.Parse(this.txtSize4.Text) || storemodel.store_size5 < int.Parse(this.txtSize5.Text) || storemodel.store_size6 < int.Parse(this.txtSize6.Text) || storemodel.store_size7 < int.Parse(this.txtSize7.Text))
{
//‘請檢查庫存數量’lable顯示
this.lblShow.Visible = true;
}
else
{
this.lblShow.Visible = false;
//當dt為空的時候
if (dt.Rows.Count == 0)
{
dt.Rows.Add(dr);
}
else
{
foreach (DataRow item in dt.Rows)
{
//當添加信息時,dt是否已有該信息
if (item[0].ToString() == this.ddlProductID.Text.Trim() && item[1].ToString() == this.ddlColor.Text.Trim()&&item[10].ToString()==this.ddlstorego.Text&&item[11].ToString()==this.ddlstoreto.Text)
{
//如果存在 x = false;
x = false;
//修改該信息
for (int i = 1; i <= 1; i++)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -