Exemplo n.º 1
0
        private void txtDeliveryNo_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (m_Mode != Common.eScreenMode.ADD || txtDeliveryNo.Text == "")
            {
                return;
            }
            InvoiceBIZ        biz  = new InvoiceBIZ();
            InvoiceController ctrl = new InvoiceController();
            List <InvoiceDTO> list = biz.Load_Delivery_Detail(txtDeliveryNo.Text);

            if (list.Count > 0)
            {
                dmcShip.LoadData(ctrl.MapDTOToUIDM(list[0]));
                shtCustomerOrder.DataSource = DTOUtility.ConvertListToDataTable <InvoiceDTO>(list);
            }
        }
Exemplo n.º 2
0
        public int Delete(string TRANS_ID)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Delete(TRANS_ID));
        }
Exemplo n.º 3
0
        public void SaveInvoiceEntry(InvoiceEntryUIDM model, Common.eScreenMode Mode)
        {
            try
            {
                Common.CurrentDatabase.KeepConnection = true;
                Common.CurrentDatabase.BeginTransaction(IsolationLevel.Serializable);

                InvoiceBIZ biz = new InvoiceBIZ();

                #region Validate Data
                //== 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()));
                }

                DataTable         dtNonDelete = model.DATA_VIEW.GetChanges(DataRowState.Unchanged | DataRowState.Added | DataRowState.Modified);
                List <InvoiceDTO> listData    = DTOUtility.ConvertDataTableToList <InvoiceDTO>(dtNonDelete);

                #endregion


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

                // แก้บั๊ก GetChange แล้ว Data ไม่ถูกต้อง
                if (dtModify != null && dtModify.Rows.Count > 0)
                {
                    for (int i = 0; i < dtModify.Rows.Count; i++)
                    {
                        for (int j = 0; j < dtData.Rows.Count; j++)
                        {
                            if (Convert.ToString(dtModify.Rows[i]["TRANS_ID"]) == Convert.ToString(dtData.Rows[j]["TRANS_ID"]))
                            {
                                dtModify.Rows[i]["PO_NO"]           = dtData.Rows[j]["PO_NO"];
                                dtModify.Rows[i]["ORDER_NO"]        = dtData.Rows[j]["ORDER_NO"];
                                dtModify.Rows[i]["ORDER_DETAIL_NO"] = dtData.Rows[j]["ORDER_DETAIL_NO"];
                                dtModify.Rows[i]["ITEM_CD"]         = dtData.Rows[j]["ITEM_CD"];
                                dtModify.Rows[i]["SHORT_NAME"]      = dtData.Rows[j]["SHORT_NAME"];
                                dtModify.Rows[i]["ITEM_DESC"]       = dtData.Rows[j]["ITEM_DESC"];
                                dtModify.Rows[i]["UNIT"]            = dtData.Rows[j]["UNIT"];
                                dtModify.Rows[i]["QTY"]             = dtData.Rows[j]["QTY"];
                                dtModify.Rows[i]["PRICE"]           = dtData.Rows[j]["PRICE"];
                                dtModify.Rows[i]["AMOUNT"]          = dtData.Rows[j]["AMOUNT"];
                            }
                        }
                    }
                }
                List <InvoiceDTO> listAdd    = new List <InvoiceDTO>();
                List <InvoiceDTO> listUpdate = new List <InvoiceDTO>();
                List <InvoiceDTO> listDelete = new List <InvoiceDTO>();


                //มีการปรับให้ทำคำสั่งทีละ set ของ add , update , delete เลย
                //ที่เริ่มจาก delete ก่อนเพราะ consumption จะได้มีการเอาไปใช้สำหรับตัวที่ add ได้เลย ไม่ต้องค้างไว้ lot หน้า
                //== Delete process.
                if (dtDelete != null && dtDelete.Rows.Count > 0)
                {
                    listDelete = DTOUtility.ConvertDataTableToList <InvoiceDTO>(dtDelete);
                    for (int i = 0; i < listDelete.Count; i++)
                    {
                        AssignHeaderToDTO(model, listDelete[i], Mode);
                    }

                    foreach (InvoiceDTO dto in listDelete)
                    {
                        biz.Delete(dto.TRANS_ID.StrongValue);
                    }
                }

                //== Insert process.
                if (dtAdd != null && dtAdd.Rows.Count > 0)
                {
                    NZString BillNo  = null;
                    NZString TransID = null;
                    listAdd = DTOUtility.ConvertDataTableToList <InvoiceDTO>(dtAdd);
                    if (!listAdd[0].TRANS_ID.IsNull && listAdd[0].TRANS_ID.StrongValue != "")
                    {
                        TransID = listAdd[0].TRANS_ID;
                    }

                    RunningNumberBIZ runningNumberBIZ = new RunningNumberBIZ();

                    if (model.BILL_NO.IsNull)
                    {
                        BillNo        = runningNumberBIZ.GetCompleteRunningNo((NZString)"BILL_NO", (NZString)"BILL_NO");
                        model.BILL_NO = BillNo;
                    }
                    else
                    {
                        BillNo = model.BILL_NO;
                    }

                    for (int i = 0; i < listAdd.Count; i++)
                    {
                        InvoiceDTO dto = listAdd[i];

                        if (dto.TRANS_ID.IsNull)
                        {
                            TransID      = runningNumberBIZ.GetCompleteRunningNo((NZString)"INVOICE_TRANS_ID", (NZString)"TRANS_ID");
                            dto.TRANS_ID = TransID;
                        }

                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto, Mode);

                        //dto.TRANS_ID = runningNumberBIZ.GetCompleteRunningNo(DataDefine.TRANS_ID.ToNZString(), DataDefine.TRANSACTION_TABLE_NAME.ToNZString());

                        //add header ใส่ list
                        dto.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                    }

                    foreach (InvoiceDTO dto in listAdd)
                    {
                        biz.Add_New(dto);
                    }
                }

                //== Update process.
                if (dtModify != null && dtModify.Rows.Count > 0)
                {
                    listUpdate = DTOUtility.ConvertDataTableToList <InvoiceDTO>(dtModify);

                    foreach (InvoiceDTO dto in listUpdate)
                    {
                        // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                        AssignHeaderToDTO(model, dto, Mode);

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

                    foreach (InvoiceDTO dto in listUpdate)
                    {
                        biz.Update_WithOut_PK(dto);
                    }
                }

                Common.CurrentDatabase.Commit();
            }
            catch (Exception)
            {
                Common.CurrentDatabase.Rollback();
                throw;
            }
        }
Exemplo n.º 4
0
        public int Update_WithOut_PK(InvoiceDTO data)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Update_WithOut_PK(data));
        }
Exemplo n.º 5
0
        public int Update_With_PK(InvoiceDTO data, string TRANS_ID)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Update_With_PK(data, TRANS_ID));
        }
Exemplo n.º 6
0
        public int Add_NewOrUpdate(InvoiceDTO data)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Add_NewOrUpdate(data));
        }
Exemplo n.º 7
0
        public List <InvoiceDTO> Load_Delivery_Detail(string DELIVERY_NO)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_Delivery_Detail(DELIVERY_NO));
        }
Exemplo n.º 8
0
        public List <InvoiceDTO> Load_By_Bill_No(string BILL_NO)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_By_Bill_No(BILL_NO));
        }
Exemplo n.º 9
0
        public InvoiceDTO Load_By_PK(string TRANS_ID)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_By_PK(TRANS_ID));
        }
Exemplo n.º 10
0
        public List <InvoiceDTO> Load_All_Ascending_By_Params(bool Ascending, params InvoiceDTO.eColumns[] orderByColumns)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_All_Ascending_By_Params(Ascending, orderByColumns));
        }
Exemplo n.º 11
0
        public List <InvoiceDTO> Load_All_Ascending(bool Ascending)
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_All_Ascending(Ascending));
        }
Exemplo n.º 12
0
        public List <InvoiceDTO> Load_All()
        {
            InvoiceBIZ biz = new InvoiceBIZ();

            return(biz.Load_All());
        }