Ejemplo n.º 1
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            MatCodeSearchWindow window = new MatCodeSearchWindow();

            window.FormClosed += (o, ee) =>
            {
                foreach (T_StandardMaterial stdMaterail in window.SelectedStandardMaterails)
                {
                    if (_PODetails.Where(d => d.Material.MatCode == stdMaterail.MatCode).Count() == 0)
                    {
                        T_PurchaseOrderDetail detail = new T_PurchaseOrderDetail()
                        {
                            Id       = Guid.NewGuid().ToString(),
                            PONo     = PO.pono,
                            Material = stdMaterail
                        };

                        _PODetails.Add(detail);
                        _AddList.Add(detail.Id);
                    }
                }

                this.gvPODetails.RefreshData();
                CalAmount();
            };

            window.ShowDialog();
        }
Ejemplo n.º 2
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            if (this.gvPODetails.GetFocusedRow() == null)
            {
                return;
            }

            T_PurchaseOrderDetail detail = this.gvPODetails.GetFocusedRow() as T_PurchaseOrderDetail;

            EnteringWindow window = new EnteringWindow();

            window.Material      = detail.Material;
            window.Quantity      = detail.Quantity;
            window.ExistQuantity = _StockMaterials.Where(o => o.PODetailId == (this.gvPODetails.GetFocusedRow() as T_PurchaseOrderDetail).Id).Sum(o => o.Quantity);

            window.FormClosed += (o, ee) =>
            {
                if (window.DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    if (_StockMaterials.Where(m => m.StockCode == window.StockCode.Code && m.MatCode == SelectedDetail.Material.MatCode).Count() > 0)
                    {
                        T_StockMaterial material = _StockMaterials.Find(m => m.StockCode == window.StockCode.Code && m.MatCode == SelectedDetail.Material.MatCode && m.PODetailId == SelectedDetail.Id);
                        material.Quantity          += window.EnteringQuantity;
                        material.AvailableQuantity += window.EnteringQuantity;

                        if (!_AddList.Contains(material))
                        {
                            _EditList.Add(material);
                        }
                    }
                    else
                    {
                        T_StockMaterial material = new T_StockMaterial()
                        {
                            PONo              = SelectedDetail.PONo,
                            PODetailId        = SelectedDetail.Id,
                            Unit              = SelectedDetail.Unit,
                            MatCode           = SelectedDetail.Material.MatCode,
                            MatDesc           = SelectedDetail.Material.MatDesc,
                            MatTypeCode       = SelectedDetail.Material.MatTypeCode,
                            MatModeCode       = SelectedDetail.Material.MatModeCode,
                            StockCode         = window.StockCode.Code,
                            StockDesc         = window.StockCode.Desc,
                            Quantity          = window.EnteringQuantity,
                            AvailableQuantity = window.EnteringQuantity
                        };

                        (this.gcStockMaterials.DataSource as List <T_StockMaterial>).Add(material);
                        _StockMaterials.Add(material);
                        _AddList.Add(material);
                    }

                    this.gvStockMaterials.RefreshData();
                }
            };

            window.ShowDialog();
        }
Ejemplo n.º 3
0
        private void InitPO()
        {
            POList        = new List <T_PurchaseOrder>();
            PODetailList  = new List <T_PurchaseOrderDetail>();
            POInvoiceList = new List <T_Invoice>();

            T_PurchaseOrder po = new T_PurchaseOrder()
            {
                pono              = "201400000",
                potype            = 1,
                amount            = 100,
                applicant         = "0002",
                applicantdesc     = "李四",
                applydate         = "2014-12-03",
                applydept         = "D000",
                applydeptdesc     = "A部门",
                buyer             = "0001",
                buyerdesc         = "张三",
                arrivalstatus     = 0,
                demandarrivaldate = "2014-12-21",
                paymentstatus     = 0,
                postatus          = 0,
                registdate        = DateTime.Now,
                register          = "0002",
                registerdesc      = "李四",
                storagestatus     = 0
            };

            POList.Add(po);

            T_PurchaseOrderDetail poDetailsA = new T_PurchaseOrderDetail()
            {
                Id       = "ec45994f-be4e-49b5-a472-4ab8b64b4d9e",
                PONo     = po.pono,
                Price    = 10,
                Quantity = 4,
                Unit     = UnitList[0].Code,
                Material = StdMatList[0]
            };

            T_PurchaseOrderDetail poDetailsB = new T_PurchaseOrderDetail()
            {
                Id       = "c0704259-882f-496b-8ba5-e56b979bb71f",
                PONo     = po.pono,
                Price    = 20,
                Quantity = 3,
                Unit     = UnitList[1].Code,
                Material = StdMatList[1]
            };

            PODetailList.Add(poDetailsA);
            PODetailList.Add(poDetailsB);
        }
Ejemplo n.º 4
0
 public void UpdatePODetail(T_PurchaseOrderDetail poDetail)
 {
     PODetailList.Remove(PODetailList.Find(o => o.Id == poDetail.Id));
     PODetailList.Add(poDetail);
 }
Ejemplo n.º 5
0
 public void AddPODetail(T_PurchaseOrderDetail poDetail)
 {
     PODetailList.Add(poDetail);
 }