private void ChangeBtn_Click(object sender, EventArgs e) { decimal ToalFee = new decimal(); PurchaseOrder nowPurchaseOrder = PurchaseOrderService.GetPurchaseOrder(this.purchaseOrderCode); nowPurchaseOrder.PurchaserName = PurchaserName.Text; //更新采购单中的物品 List <PurchaseProduct> oldPurchaseProductList = PurchaseProductService.GetPurchasePorduct(this.purchaseOrderCode); int count_PurchaseProduct = oldPurchaseProductList.Count - 1; foreach (DataRow row in dTable.Rows) { if (count_PurchaseProduct >= 0) { oldPurchaseProductList[count_PurchaseProduct].PurchasePrice = Convert.ToDecimal(row["ProductPrice"]); oldPurchaseProductList[count_PurchaseProduct].PurchaseQuantity = Convert.ToDouble(row["PurchaseNum"]); decimal PurchaseNum = (decimal)oldPurchaseProductList[count_PurchaseProduct].PurchaseQuantity; oldPurchaseProductList[count_PurchaseProduct].PurchaseTotalFee = oldPurchaseProductList[count_PurchaseProduct].PurchasePrice * PurchaseNum; ToalFee += oldPurchaseProductList[count_PurchaseProduct].PurchaseTotalFee; oldPurchaseProductList[count_PurchaseProduct].PurchaseRemark = row["Remarks"].ToString(); count_PurchaseProduct--; } } ReturnType result_pro = PurchaseProductService.UpdatePurchaseProduct(oldPurchaseProductList); //更新采购单 nowPurchaseOrder.TotalFee = ToalFee; ReturnType result_pur = PurchaseOrderService.UpdatePurchaseOrder(nowPurchaseOrder); if (result_pro == ReturnType.Success && result_pur == ReturnType.Success) { DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //new Alading.Forms.PurchaseManager.PurchaseOrderList().GetPurchaseOrder(purchaseorderCodeList); } else { DevExpress.XtraEditors.XtraMessageBox.Show("保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// 根据purOrderCode获取唯一的采购订单进行PurchaseOrderDetail的初始化 /// </summary> /// <param name="purOrderCode"></param> public PurchaseOrderDetail(string purOrderCode) { InitializeComponent(); Init(); dTable.Rows.Clear(); this.purchaseOrderCode = purOrderCode; PurchaseOrder nowPurchaseOrder = new PurchaseOrder(); nowPurchaseOrder = PurchaseOrderService.GetPurchaseOrder(purOrderCode); OrderCodeText.Text = nowPurchaseOrder.PurchaseOrderCode.ToString(); OrderTime.Text = Convert.ToString(nowPurchaseOrder.OrderTime).ToString(); PurchaserName.Text = nowPurchaseOrder.PurchaserName.ToString(); SupplierText.Text = nowPurchaseOrder.SupplierName.ToString(); OrderStatusText.Text = StatusToString(nowPurchaseOrder.OrderStatus); List <PurchaseProduct> nowPurchaseProductList = new List <PurchaseProduct>(); nowPurchaseProductList = PurchaseProductService.GetPurchasePorduct(purOrderCode); int i = 1; if (nowPurchaseProductList != null) { foreach (var purchaseProduct in nowPurchaseProductList) { DataRow row = dTable.NewRow(); row["Line"] = i.ToString(); row["SkuOuterID"] = purchaseProduct.SkuOuterId.ToString(); row["ItemName"] = purchaseProduct.ProductName.ToString(); row["PurchaseNum"] = Convert.ToDouble(purchaseProduct.PurchaseQuantity); row["ProductPrice"] = Convert.ToDouble(purchaseProduct.PurchasePrice); row["PurchaseSum"] = Convert.ToDouble(purchaseProduct.PurchaseTotalFee); row["Remarks"] = purchaseProduct.PurchaseRemark.ToString(); dTable.Rows.Add(row); i++; } } Productgrid.DataSource = dTable; }
/// <summary> /// 删除采购订单被选中的数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var orderList = from order in purOrderList select order.PurchaseOrderCode; foreach (var list in orderList) { purOrderCodeList.Add(list); } for (int delRow = 0; delRow < gridView1.RowCount; delRow++) { DataRow row = dt.Rows[delRow]; string purOrderCode = row["OrderCode"].ToString(); if (Convert.ToBoolean(row["IsDelete"]) == true) { purOrderCodeList.Remove(purOrderCode); PurchaseOrderService.RemovePurchaseOrder(purOrderCode); PurchaseProductService.RemovePurchaseProduct(purOrderCode); // PurchaseProductService(purOrderCode); dt.Rows.Remove(row); } } gridControl1.DataSource = dt; }
/// <summary> /// 单击 “保存”触发的数据库操作事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void simpleButton1_Click(object sender, EventArgs e) { List <string> purchaseorderCodeList = new List <string>(); decimal ToalFee = new decimal(); /*********生成采购订单***********/ Guid purchaseOrderCode = Guid.NewGuid(); Alading.Entity.PurchaseOrder newPurchaseOrder = new Alading.Entity.PurchaseOrder(); newPurchaseOrder.PurchaserCode = "AA" + purchaseOrderCode.ToString(); //采购人编号 newPurchaseOrder.PurchaseOrderCode = purchaseOrderCode.ToString(); newPurchaseOrder.SupplierCode = SupplierService.GetSupplierByName(SupplierName.Text).SupplierCode; //供货商编号 newPurchaseOrder.SupplierName = SupplierName.Text; //供货商姓名 newPurchaseOrder.OrderStatus = 3; //订单状态 表示为执行 newPurchaseOrder.PurchaserName = purchaserName.Text; //采购人姓名 newPurchaseOrder.OrderTime = PuchaseDate.DateTime; //下订单时间 //purchaseorderCodeList.Add(newPurchaseOrder.PurchaseOrderCode); /************生成采购单中的数据************/ int selNum = 0; // int flag = 0; //判断该行是否被选上 foreach (DataRow row in dTable.Rows) { Guid purchaseProductCode = Guid.NewGuid();// 每次循环都产生不同的PurchaseProductCode PurchaseProduct newPurchaseProduct = new PurchaseProduct(); if (Convert.ToBoolean(row["IsDelete"]) == true) { // 这个PurchaseOrder是数据库中间的表 newPurchaseProduct.PurchaseOrderCode = purchaseOrderCode.ToString(); newPurchaseProduct.PurchaseProductCode = purchaseProductCode.ToString(); newPurchaseProduct.ProductName = row["ItemName"].ToString(); newPurchaseProduct.SkuOuterId = row["SkuOuterID"].ToString(); string str = row["PurchaseSum"].ToString(); if (string.Empty.Equals(str)) { DevExpress.XtraEditors.XtraMessageBox.Show("你没有输入采购商品的数量", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); flag = 1; //没输入数字就变成1 break; } else { newPurchaseProduct.PurchasePrice = Convert.ToDecimal(row["ProductPrice"]); newPurchaseProduct.PurchaseQuantity = Convert.ToDouble(row["PurchaseNum"]); decimal PurchaseNum = (decimal)newPurchaseProduct.PurchaseQuantity; newPurchaseProduct.PurchaseTotalFee = newPurchaseProduct.PurchasePrice * PurchaseNum; ToalFee += newPurchaseProduct.PurchaseTotalFee; newPurchaseProduct.ProductType = "aa"; newPurchaseProduct.PurchaseRemark = purchaseNotes.Text; purchaseorderCodeList.Add(newPurchaseProduct.PurchaseOrderCode); purchaseProductList.Add(newPurchaseProduct); selNum++; flag = 0; } } } //if (PurchaseProductService.GetPurchaseProductByCode(purchaseOrderCode.ToString()).Count == 0) if (selNum == 0 && flag == 0) // { DevExpress.XtraEditors.XtraMessageBox.Show("你没选择任何商品", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (selNum != 0 && flag == 0) { ReturnType result_PurchaseOrder = new ReturnType(); newPurchaseOrder.TotalFee = ToalFee; result_PurchaseOrder = PurchaseOrderService.AddPurchaseOrder(newPurchaseOrder); //保存订单 ReturnType result_PurchaseProduct = new ReturnType(); result_PurchaseProduct = PurchaseProductService.AddPurchaseProduct(purchaseProductList); //保存采购的商品 if (result_PurchaseOrder == ReturnType.Success && result_PurchaseProduct == ReturnType.Success) { DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); new Alading.Forms.PurchaseManager.PurchaseOrderList().GetPurchaseOrder(purchaseorderCodeList); } dTable.Rows.Clear(); this.Close(); } }