예제 #1
0
        /// <summary>
        /// คัดลอกค่าที่เป็น Header ของ Model ไปเก็บไว้ใน DTO
        /// </summary>
        /// <param name="model"></param>
        /// <param name="dto"></param>
        ///
        private void AssignHeaderToDTO(IssueByOrderUIDM model, InventoryTransactionDTO dto, DataDefine.eIN_OUT_CLASS in_out)
        {
            dto.TRANS_DATE = model.TRANS_DATE;
            //dto.REF_SLIP_NO = model.SLIP_NO;
            dto.TRANS_CLS = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.Issuing).ToNZString();//model.TRANS_CLS;
            //dto.REF_SLIP_NO = model.INVOICE_NO;
            //dto.OTHER_DL_NO = model.INVOICE_NO;
            dto.REMARK        = model.REMARK;
            dto.OBJ_ITEM_CD   = model.OBJ_ITEM_CD;
            dto.OBJ_ORDER_QTY = model.OBJ_ORDER_QTY;
            dto.REF_SLIP_CLS  = (NZString)DataDefine.Convert2ClassCode(DataDefine.eREF_SLIP_CLS.Issue);
            dto.FOR_CUSTOMER  = model.FOR_CUSTOMER;
            dto.FOR_MACHINE   = model.FOR_MACHINE;
            dto.REF_SLIP_NO2  = model.REF_SLIP_NO2;
            dto.REF_SLIP_NO   = model.REF_SLIP_NO;
            dto.TRAN_SUB_CLS  = model.TRAN_SUB_CLS;
            dto.SCREEN_TYPE   = DataDefine.ScreenType.IssueByOrder.ToNZString();

            if (in_out == DataDefine.eIN_OUT_CLASS.In)
            {
                dto.REF_SLIP_NO      = model.SLIP_NO;
                dto.LOC_CD           = model.TO_LOC_CD;
                dto.IN_OUT_CLS.Value = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.In);
            }
            else
            {
                dto.SLIP_NO          = model.SLIP_NO;
                dto.LOC_CD           = model.FROM_LOC_CD;
                dto.IN_OUT_CLS.Value = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.Out);
            }
        }
예제 #2
0
        private void OpenIssueScreen(bool CanEdit)
        {
            int activeRow         = shtView.ActiveRowIndex;
            IssueByOrderUIDM uidm = new IssueByOrderUIDM();

            uidm.TRANS_ID.Value = shtView.Cells[activeRow, (int)eColView.ISSUE_NO].Value;
            //uidm.REF_NO.Value = shtView.Cells[activeRow, (int)eColView.REF_ID].Value;
            uidm.OBJ_ITEM_CD.Value   = shtView.Cells[activeRow, (int)eColView.OBJ_ITEM_CD].Value;
            uidm.OBJ_ORDER_QTY.Value = shtView.Cells[activeRow, (int)eColView.OBJ_ORDER_QTY].Value;
            //uidm.ITEM_DESC.Value = shtView.Cells[activeRow, (int)eColView.PART_NAME].Value;
            uidm.FROM_LOC_CD.Value = shtView.Cells[activeRow, (int)eColView.FROM_LOC].Value;
            uidm.TO_LOC_CD.Value   = shtView.Cells[activeRow, (int)eColView.TO_LOC].Value;
            uidm.LOT_NO.Value      = shtView.Cells[activeRow, (int)eColView.LOT_NO].Value;
            // uidm.ONHAND_QTY.Value = shtView.Cells[activeRow, (int) eColView.TRANS_ID].Value;
            uidm.QTY.Value        = shtView.Cells[activeRow, (int)eColView.ISSUE_QTY].Value;
            uidm.REMARK.Value     = shtView.Cells[activeRow, (int)eColView.REMARK].Value;
            uidm.TRANS_DATE.Value = Convert.ToDateTime(shtView.Cells[activeRow, (int)eColView.ISSUE_DATE].Value);
            uidm.TRANS_CLS.Value  = shtView.Cells[activeRow, (int)eColView.ISSUE_TYPE].Value;
            uidm.SLIP_NO.Value    = shtView.Cells[activeRow, (int)eColView.SLIP_NO].Value;

            uidm.REF_SLIP_NO.Value  = shtView.Cells[activeRow, (int)eColView.REF_SLIP_NO].Text;
            uidm.REF_SLIP_NO2.Value = shtView.Cells[activeRow, (int)eColView.REF_SLIP_NO2].Text;
            uidm.FOR_CUSTOMER.Value = shtView.Cells[activeRow, (int)eColView.FOR_CUSTOMER].Text;
            uidm.FOR_MACHINE.Value  = shtView.Cells[activeRow, (int)eColView.FOR_MACHINE].Text;
            uidm.TRAN_SUB_CLS.Value = shtView.Cells[activeRow, (int)eColView.TRAN_SUB_CLS].Text;


            TRN060 frmTRN060 = new TRN060(uidm, CanEdit);

            frmTRN060.ShowDialog();
        }
예제 #3
0
 public TRN170_TransferEntry(IssueByOrderUIDM uidm, bool CanEdit)
 {
     InitializeComponent();
     if (CanEdit)
     {
         m_Mode = eSaveMode.UPDATE;
     }
     else
     {
         m_Mode = eSaveMode.VIEW;
     }
     m_uidm = uidm;
 }
예제 #4
0
        private bool SaveData()
        {
            IssueByEntryController  ctlIssue      = new IssueByEntryController();
            List <IssueByOrderUIDM> uidmIssueList = new List <IssueByOrderUIDM>();


            NZString FromLocCD   = new NZString(cboFromLoc, cboFromLoc.SelectedValue);
            NZString ToLocCD     = new NZString(cboToLoc, cboToLoc.SelectedValue);
            NZString TranSubCls  = new NZString(cboSubType, cboSubType.SelectedValue);
            NZString RefSlipNo   = new NZString(txtRefDocNo, txtRefDocNo.Text);
            NZString RefSlipNo2  = new NZString(txtJobOrderNo, txtJobOrderNo.Text);
            NZString ForCustomer = new NZString(cboForCustomer, cboForCustomer.SelectedValue);

            int row = shtIssueList.Rows.Count;

            for (int i = 0; i < row; i++)
            {
                IssueByOrderUIDM uidm   = new IssueByOrderUIDM();
                NZString         ItemCD = new NZString(null,
                                                       shtIssueList.Cells[i, (int)eColView.ITEM_CODE].
                                                       Text);
                NZString   LotNo     = new NZString(null, shtIssueList.Cells[i, (int)eColView.LOT_NO].Value);
                NZDecimal  Qty       = new NZDecimal(null, shtIssueList.Cells[i, (int)eColView.ISSUE_QTY].Value);
                NZString   Remark    = new NZString(txtRemark, txtRemark.Text.Trim());
                NZDateTime TransDate = new NZDateTime(dtIssueDate, dtIssueDate.Value);
                uidm.ITEM_CD      = ItemCD;
                uidm.FROM_LOC_CD  = FromLocCD;
                uidm.TO_LOC_CD    = ToLocCD;
                uidm.LOT_NO       = LotNo;
                uidm.QTY          = Qty;
                uidm.REMARK       = Remark;
                uidm.TRANS_DATE   = TransDate;
                uidm.TRANS_CLS    = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.Issuing).ToNZString();//TransCls;
                uidm.TRAN_SUB_CLS = TranSubCls;
                uidm.REF_SLIP_NO  = RefSlipNo;
                uidm.REF_SLIP_NO2 = RefSlipNo2;
                uidm.FOR_CUSTOMER = ForCustomer;

                uidmIssueList.Add(uidm);
            }

            ctlIssue.SaveAddIssue(uidmIssueList);

            return(true);
        }
예제 #5
0
        private bool SaveDataEditMode()
        {
            RemoveRowUnused();
            // ต้องเรียกก่อน Save เสมอ  เพื่อ Commit ข้อมูลการแก้ไขล่าสุดบน Grid
            // ใช้ได้เฉพาะกับ Sheet ที่ผูก DataSource
            //int row = shtIssueList.Rows.Count;
            for (int i = 0; i < shtIssueList.Rows.Count; i++)
            {
                CtrlUtil.SpreadSheetRowEndEdit(shtIssueList, shtIssueList.ActiveRowIndex);
            }

            IssueByOrderUIDM newModel = dmcIssue.SaveData(new IssueByOrderUIDM());

            newModel.DATA_VIEW = m_uidm.DATA_VIEW;


            //== Save Process
            IssueByEntryController ctl = new IssueByEntryController();

            ctl.SaveDataEditMode(newModel);
            return(true);
        }
예제 #6
0
        internal void SaveDataEditMode(IssueByOrderUIDM model)
        {
            //== If data not has to processing.
            if (model.DATA_VIEW == null || model.DATA_VIEW.Rows.Count == 0)
            {
                ValidateException.ThrowErrorItem(new ErrorItem(null, TKPMessages.eValidate.VLM0055.ToString()));
            }

            //model.DATA_VIEW.AcceptChanges();


            // 20100324 11:44 Add by Teerayut S.
            // Comment: Move begin transaction from business class to controller class.
            // add try..catch block to control transaction scope.
            Common.CurrentDatabase.KeepConnection = true;
            Common.CurrentDatabase.BeginTransaction(IsolationLevel.Serializable);
            // 20100324 End Teerayut S.

            try
            {
                DataTable dtData = model.DATA_VIEW;

                DataTable dtAdd    = dtData.GetChanges(DataRowState.Added);
                DataTable dtModify = dtData.GetChanges(DataRowState.Modified);
                DataTable dtDelete = dtData.GetChanges(DataRowState.Deleted);

                InventoryBIZ biz = new InventoryBIZ();

                List <InventoryTransactionDTO> listAdd_from    = null;
                List <InventoryTransactionDTO> listUpdate_from = null;
                List <InventoryTransactionDTO> listDelete_from = null;

                List <InventoryTransactionDTO> listAdd_to    = null;
                List <InventoryTransactionDTO> listUpdate_to = null;
                List <InventoryTransactionDTO> listDelete_to = null;

                //== Insert process.
                if (dtAdd != null && dtAdd.Rows.Count > 0)
                {
                    listAdd_from = ConvertDataTableToList(dtAdd, DataDefine.eIN_OUT_CLASS.Out);
                    listAdd_to   = ConvertDataTableToList(dtAdd, DataDefine.eIN_OUT_CLASS.In);
                    NZString runningNo;

                    if (model.SLIP_NO.IsNull)
                    {
                        RunningNumberBIZ runningNumberBIZ = new RunningNumberBIZ();
                        runningNo = runningNumberBIZ.GetCompleteRunningNo((NZString)"ISSUE_SLIP_NO", (NZString)"TB_INV_TRANS_TR");
                    }
                    else
                    {
                        runningNo = model.SLIP_NO;
                    }

                    for (int i = 0; i < listAdd_from.Count; i++)
                    {
                        InventoryTransactionDTO dto_from = listAdd_from[i];
                        InventoryTransactionDTO dto_to   = listAdd_to[i];
                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto_from, DataDefine.eIN_OUT_CLASS.Out);
                        AssignHeaderToDTO(model, dto_to, DataDefine.eIN_OUT_CLASS.In);

                        dto_from.SLIP_NO     = runningNo;
                        dto_from.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_from.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.UPD_MACHINE = Common.CurrentUserInfomation.Machine;

                        dto_to.REF_SLIP_NO = runningNo;
                        dto_to.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_to.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_to.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_to.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                    }
                }

                //== Update process.
                if (dtModify != null && dtModify.Rows.Count > 0)
                {
                    listUpdate_from = ConvertDataTableToList(dtModify, DataDefine.eIN_OUT_CLASS.Out);
                    listUpdate_to   = ConvertDataTableToList(dtModify, DataDefine.eIN_OUT_CLASS.In);

                    for (int i = 0; i < listUpdate_from.Count; i++)
                    {
                        InventoryTransactionDTO dto_from = listUpdate_from[i];
                        InventoryTransactionDTO dto_to   = listUpdate_to[i];

                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto_from, DataDefine.eIN_OUT_CLASS.Out);
                        AssignHeaderToDTO(model, dto_to, DataDefine.eIN_OUT_CLASS.In);

                        dto_from.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_from.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_to.CRT_BY        = Common.CurrentUserInfomation.UserCD;
                        dto_to.CRT_MACHINE   = Common.CurrentUserInfomation.Machine;
                        dto_to.UPD_BY        = Common.CurrentUserInfomation.UserCD;
                        dto_to.UPD_MACHINE   = Common.CurrentUserInfomation.Machine;
                    }
                }


                //== Delete process.
                if (dtDelete != null && dtDelete.Rows.Count > 0)
                {
                    listDelete_from = ConvertDataTableToList(dtDelete, DataDefine.eIN_OUT_CLASS.Out);
                    listDelete_to   = ConvertDataTableToList(dtDelete, DataDefine.eIN_OUT_CLASS.In);

                    for (int i = 0; i < listDelete_from.Count; i++)
                    {
                        InventoryTransactionDTO dto_from = listDelete_from[i];
                        InventoryTransactionDTO dto_to   = listDelete_to[i];

                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto_from, DataDefine.eIN_OUT_CLASS.Out);
                        AssignHeaderToDTO(model, dto_to, DataDefine.eIN_OUT_CLASS.In);
                    }
                }


                // ------ Update Header Process -------------
                List <InventoryTransactionDTO> listUpdateHeader_from = new List <InventoryTransactionDTO>();
                List <InventoryTransactionDTO> listUpdateHeader_to   = new List <InventoryTransactionDTO>();

                if (dtData != null && dtData.Rows.Count > 0)
                {
                    listUpdateHeader_from = ConvertDataTableToList(dtData, DataDefine.eIN_OUT_CLASS.Out);
                    listUpdateHeader_to   = ConvertDataTableToList(dtData, DataDefine.eIN_OUT_CLASS.In);

                    for (int i = 0; i < listUpdateHeader_from.Count; i++)
                    {
                        InventoryTransactionDTO dto_from = listUpdateHeader_from[i];
                        InventoryTransactionDTO dto_to   = listUpdateHeader_to[i];

                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto_from, DataDefine.eIN_OUT_CLASS.Out);
                        AssignHeaderToDTO(model, dto_to, DataDefine.eIN_OUT_CLASS.In);

                        dto_from.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_from.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto_from.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto_to.CRT_BY        = Common.CurrentUserInfomation.UserCD;
                        dto_to.CRT_MACHINE   = Common.CurrentUserInfomation.Machine;
                        dto_to.UPD_BY        = Common.CurrentUserInfomation.UserCD;
                        dto_to.UPD_MACHINE   = Common.CurrentUserInfomation.Machine;

                        biz.UpdateIssueHeader(listUpdateHeader_from[i]);
                        biz.UpdateIssueHeader(listUpdateHeader_to[i]);
                    }
                }

                // --------- End ----------------------

                biz.UpdateIssueByOrder(listAdd_from, listAdd_to, listUpdate_from, listUpdate_to, listDelete_from, listDelete_to);

                CommonLib.Common.CurrentDatabase.Commit();
            }
            catch (Exception err)
            {
                CommonLib.Common.CurrentDatabase.Rollback();
                throw;
            }
        }