예제 #1
0
        void btnOK_Click(object sender, EventArgs e)
        {
            if (prodOrderP.dictItemList.ContainsKey(cboWorkOper.Text) && prodOrderP.ProdOrderGroup != null && float.Parse(txtNeedQty.Text.ToString()) > 0)
            {
                UnitOfWork uow = (UnitOfWork)((XPObjectSpace)detailView.ObjectSpace).Session;
                try
                {
                    uow.BeginTransaction();

                    Item item = prodOrderP.dictItemList[cboWorkOper.Text];
                    Item item2 = uow.FindObject<Item>(DevExpress.Data.Filtering.CriteriaOperator.Parse(string.Format("Oid = '{0}'", item.Oid)));
                    ProdOrderGroup prodOrderGroup = uow.FindObject<ProdOrderGroup>(DevExpress.Data.Filtering.CriteriaOperator.Parse(string.Format("Oid = '{0}'", prodOrderP.ProdOrderGroup.Oid)));
                    WareHouse warehouse = uow.FindObject<WareHouse>(DevExpress.Data.Filtering.CriteriaOperator.Parse(string.Format("Oid = '{0}'", prodOrderP.defaultWH.Oid)));
                    ProdOrder prodOrder = new ProdOrder(uow);
                    prodOrder.Item = item2;
                    prodOrder.Warehouse = warehouse;
                    prodOrder.CellLine = txtMachine.Text;
                    prodOrder.NeedDate = (DateTime)datNeedDate.EditValue;
                    prodOrder.NeedQty = (float)txtNeedQty.Value;
                    //prodOrder.ProdOrderGroup = prodOrderGroup;
                    prodOrder.Save();
                    uow.CommitChanges();
                    DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("成功建立生產單, 單號為 : {0}", prodOrder.OrderNo), "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    View.Close();
                }
                catch
                {
                    uow.RollbackTransaction();
                    DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("未能成功建立生產單"), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("未能成功建立生產單.  \n請選好生產組, 工序名稱及數量"), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
        public void CreateProdOrder(UnitOfWork uow)
        {
            ProdOrder newProdOrder = new ProdOrder(uow);

            newProdOrder.Item = bomItem;
            newProdOrder.OrderType = ProdOrder.OrderType;
            newProdOrder.NeedDate = ProdOrder.NeedDate;
            newProdOrder.NeedQty = RecommendQty;
            newProdOrder.SetParentOrder(ProdOrder);
            newProdOrder.Priority = ProdOrder.Priority;
            newProdOrder.Unit = Unit;
            newProdOrder.Warehouse = Warehouse;
            newProdOrder.GenerateChild();
            newProdOrder.Save();
            _RefNo = newProdOrder.OrderNo;
            _RefType = ReferenceType.Production;
            //_RefOid = newProdOrder;
            //OnChanged("RefOid");

            OnChanged("RefNo");
            OnChanged("RefType");
            this.Save();
            newProdOrder.CalculateOrder(uow);
        }