예제 #1
0
        public ReturnTesterData GetData()
        {
            ReturnTesterData data = new ReturnTesterData();
            data.CREATEBY = this.txtCreateBy.Text;
            data.CREATEON = this.dtpCreateOn.Value;
            data.ACTIVE = Constz.ActiveStatus.Active;
            if (this.txtStatus.Text != Constz.Requisition.Status.Waiting.Code)
            {
                data.APPROVEDATE = dtpApproveDate.Value;
                data.APPROVER = Convert.ToDouble(this.txtApprover.Text == "" ? "0" : this.txtApprover.Text);
            }
            data.CODE = this.txtCode.Text;
            data.DOCTYPE = Constz.DocType.RetSample.LOID;
            data.LOID = Convert.ToDouble(this.txtLOID.Text == "" ? "0" : this.txtLOID.Text);
            data.REASON = this.txtReason.Text.Trim();
            if (this.cmbReceiver.SelectedValue != null) data.RECEIVER = Convert.ToDouble(this.cmbReceiver.SelectedValue);
            data.REMARK = this.txtRemark.Text.Trim();
            data.SENDER = Convert.ToDouble(this.txtSender.Text);
            data.STATUS = this.txtStatus.Text.Trim();
            data.STOCKITEM = new ArrayList();
            foreach (DataGridViewRow gRow in this.grvStockIn.Rows)
            {
                if (!gRow.IsNewRow)
                {
                    StockOutItemData itemData = new StockOutItemData();

                    itemData.ACTIVE = Constz.ActiveStatus.Active;
                    itemData.PRODUCT = Convert.ToDouble(gRow.Cells[indexPRODUCT].Value);
                    itemData.QTY = Convert.ToDouble(gRow.Cells[indexQTY].Value);
                    itemData.STATUS = data.STATUS;
                    itemData.UNIT = Convert.ToDouble(gRow.Cells["UNIT"].Value);
                    data.STOCKITEM.Add(itemData);
                }
            }
            return data;
        }
예제 #2
0
 public ReturnTesterData GetData(double loid)
 {
     ReturnTesterData data = new ReturnTesterData();
     if (DALObj.GetDataByLOID(loid, null))
     {
         data.APPROVEDATE = DALObj.APPROVEDATE;
         data.APPROVER = DALObj.APPROVER;
         data.CODE = DALObj.CODE;
         data.CREATEBY = DALObj.CREATEBY;
         data.CREATEON = DALObj.CREATEON;
         data.DOCTYPE = DALObj.DOCTYPE;
         data.LOID = DALObj.LOID;
         data.REASON = DALObj.REASON;
         data.RECEIVER = DALObj.RECEIVER;
         data.REMARK = DALObj.REMARK;
         data.SENDER = DALObj.SENDER;
         data.STATUS = DALObj.STATUS;
         data.STOCKITEM = new ArrayList();
         DataTable dt = SearchDAL.GetStockOutItem(loid);
         int i = 1;
         foreach (DataRow dRow in dt.Rows)
         {
             ReturnTesterItemData itemData = new ReturnTesterItemData();
             itemData.ORDERNO = i;
             itemData.BARCODE = dRow["BARCODE"].ToString();
             itemData.NAME = dRow["NAME"].ToString();
             itemData.QTY = Convert.ToDouble(dRow["QTY"]);
             itemData.PRICE = Convert.ToDouble(dRow["PRICE"]);
             itemData.UNITNAME = dRow["UNITNAME"].ToString();
             itemData.PRODUCT = Convert.ToDouble(dRow["PRODUCT"]);
             itemData.UNIT = Convert.ToDouble(dRow["UNIT"]);
             data.STOCKITEM.Add(itemData);
         }
     }
     return data;
 }
예제 #3
0
        public void SetData(ReturnTesterData data)
        {
            this.txtStatus.Text = data.STATUS;
            SetStatusName(data.STATUS);
            this.txtApprover.Text = data.APPROVER.ToString();
            if (data.APPROVEDATE.Year != 1) this.dtpApproveDate.Value = data.APPROVEDATE;
            this.txtCode.Text = data.CODE;
            this.txtLOID.Text = data.LOID.ToString();
            this.txtReason.Text = data.REASON;
            this.cmbReceiver.SelectedValue = data.RECEIVER;
            this.txtRemark.Text = data.REMARK;
            this.txtSender.Text = data.SENDER.ToString();
            this.grvStockIn.Rows.Clear();
            this.txtDate.Text = data.CREATEON.ToString("dd/MM/yyyy");
            this.dtpCreateOn.Value = data.CREATEON;
            this.txtCreateBy.Text = data.CREATEBY;
            for (int i = 0; i < data.STOCKITEM.Count; ++i)
            {
                ReturnTesterItemData itemData = (ReturnTesterItemData)data.STOCKITEM[i];
                DataGridViewRow gRow = (DataGridViewRow)this.grvStockIn.Rows[this.grvStockIn.NewRowIndex].Clone();
                gRow.Cells[indexORDERNO].Value = i + 1;
                gRow.Cells[indexBARCODE].Value = itemData.BARCODE;
                gRow.Cells[indexNAME].Value = itemData.NAME;
                gRow.Cells[indexQTY].Value = itemData.QTY;
                gRow.Cells[indexUNITNAME].Value = itemData.UNITNAME;
                gRow.Cells[indexPRICE].Value = itemData.PRICE;
                gRow.Cells[indexNETPRICE].Value = itemData.PRICE * itemData.QTY;
                gRow.Cells[indexPRODUCT].Value = itemData.PRODUCT;
                gRow.Cells[indexUNIT].Value = itemData.UNIT;
                this.grvStockIn.Rows.Add(gRow);
            }
            if (data.STATUS != Constz.Requisition.Status.Waiting.Code)
            {
                this.grvStockIn.AllowUserToAddRows = false;
                this.grvStockIn.AllowUserToDeleteRows = false;
                this.grvStockIn.ReadOnly = true;
                this.btnSave.Enabled = false;
                this.btnSubmit.Enabled = false;

                this.grvStockIn.Columns[indexSEARCH].Visible = false;
            }
            else
            {
                this.grvStockIn.AllowUserToAddRows = true;
                this.grvStockIn.AllowUserToDeleteRows = true;
                this.grvStockIn.ReadOnly = false;
                this.btnSave.Enabled = true;
                this.btnSubmit.Enabled = true;

                this.grvStockIn.Columns[indexSEARCH].Visible = true;
            }
            CalculateGrandTotal();
        }
예제 #4
0
 private bool SaveData(ReturnTesterData data)
 {
     bool ret = true;
     ret = FlowObj.UpdateData(Appz.CurrentUserData.UserID, data);
     if (ret)
         SetData(FlowObj.GetData(FlowObj.LOID));
     else
         Appz.OpenErrorDialog(FlowObj.ErrorMessage);
     return ret;
 }
예제 #5
0
 public bool ValidateData(ReturnTesterData data)
 {
     bool ret = true;
     if (data.RECEIVER == 0)
     {
         ret = false;
         _error = "¡ÃسÒàÅ×Í¡¤ÅѧÊÔ¹¤éÒ";
     }
     else if (data.REASON.Trim() == "")
     {
         ret = false;
         _error = "¡ÃسÒÃкØà˵ؼÅ㹡Òä׹ÊÔ¹¤éÒµÑÇÍÂèÒ§";
     }
     else if (data.STOCKITEM.Count == 0)
     {
         ret = false;
         _error = "¡ÃسÒÃкØÃÒ¡ÒÃÊÔ¹¤éÒ";
     }
     return ret;
 }
예제 #6
0
        public bool UpdateData(string userID, ReturnTesterData data)
        {
            bool ret = true;
            bool cutstock = true;
            if (ValidateData(data))
            {
                OracleDBObj obj = new OracleDBObj();
                obj.CreateConnection();
                obj.CreateTransaction();
                try
                {
                    DALObj.OnDB = false;
                    DALObj.GetDataByLOID(data.LOID, obj.zTrans);
                    cutstock = (DALObj.STATUS == Constz.Requisition.Status.Waiting.Code && data.STATUS == Constz.Requisition.Status.Approved.Code);
                    DALObj.ACTIVE = data.ACTIVE;
                    DALObj.APPROVEDATE = data.APPROVEDATE;
                    DALObj.APPROVER = data.APPROVER;
                    DALObj.DOCTYPE = data.DOCTYPE;
                    DALObj.REASON = data.REASON;
                    DALObj.RECEIVER = data.RECEIVER;
                    DALObj.REMARK = data.REMARK;
                    DALObj.SENDER = data.SENDER;
                    DALObj.STATUS = data.STATUS;

                    if (DALObj.OnDB)
                        ret = DALObj.UpdateCurrentData(userID, obj.zTrans);
                    else
                    {
                        DALObj.CODE = OracleDB.GetRunningCode("STOCKOUT", data.DOCTYPE.ToString(), obj.zTrans);
                        ret = DALObj.InsertCurrentData(userID, obj.zTrans);
                        cutstock = false;
                    }

                    _LOID = DALObj.LOID;
                    if (!ret)
                    {
                        throw new ApplicationException(DALObj.ErrorMessage);
                    }

                    StockOutItemDAL itemDAL = new StockOutItemDAL();
                    itemDAL.DeleteDataByStockOut(DALObj.LOID, obj.zTrans);
                    for (Int16 i = 0; i < data.STOCKITEM.Count; ++i)
                    {
                        StockOutItemData item = (StockOutItemData)data.STOCKITEM[i];
                        itemDAL.ACTIVE = item.ACTIVE;
                        itemDAL.LOTNO = item.LOTNO;
                        itemDAL.PRODUCT = item.PRODUCT;
                        itemDAL.QTY = item.QTY;
                        itemDAL.STATUS = item.STATUS;
                        itemDAL.STOCKOUT = DALObj.LOID;
                        itemDAL.UNIT = item.UNIT;

                        itemDAL.OnDB = false;
                        ret = itemDAL.InsertCurrentData(userID, obj.zTrans);
                        if (!ret) throw new ApplicationException(itemDAL.ErrorMessage);
                    }
                    if (cutstock)
                    {
                        ret = DALObj.CutStock(DALObj.LOID, userID, obj.zTrans);
                        if (!ret) throw new ApplicationException(DALObj.ErrorMessage);
                    }
                    obj.zTrans.Commit();
                    obj.CloseConnection();
                }
                catch (Exception ex)
                {
                    obj.zTrans.Rollback();
                    obj.CloseConnection();
                    ret = false;
                    _error = ex.Message;
                }
            }
            else
                ret = false;
            return ret;
        }