예제 #1
0
        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);
            }
        }
예제 #2
0
        /// <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;
        }
예제 #3
0
        /// <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;
        }
예제 #4
0
        /// <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();
            }
        }