コード例 #1
0
        public ItemDescriptionDTO LoadItemDescription(NZString MasterNo, NZString PartNo)
        {
            ItemDescriptionDTO dtoItemDesc = new ItemDescriptionDTO();
            ItemDTO            dtoItem     = LoadItem(MasterNo, PartNo);

            if (dtoItem == null)
            {
                return(null);
            }

            dtoItemDesc.MASTER_NO = dtoItem.ITEM_CD;
            dtoItemDesc.PART_NO   = dtoItem.SHORT_NAME;

            //get customer
            DealingBIZ bizCust = new DealingBIZ();
            DealingDTO dtoCust = bizCust.LoadLocation(dtoItem.CUSTOMER_CD);

            if (dtoCust != null)
            {
                dtoItemDesc.CUSTOMER_CD   = dtoCust.LOC_CD;
                dtoItemDesc.CUSTOMER_NAME = dtoCust.LOC_DESC;
            }

            return(dtoItemDesc);
        }
コード例 #2
0
        public DealingUIDM LoadLocation(NZString locationCode)
        {
            DealingBIZ biz = new DealingBIZ();
            DealingDTO dto = biz.LoadLocation(locationCode);

            return(MapDTOToModel(dto));
        }
コード例 #3
0
        public ErrorItem CheckOnhandQty_AfterTR(Database db, EVOFramework.Windows.Forms.IControlIdentify owner, NZString ItemCD, NZString LocationCD, NZString LotNo)
        {
            // FIRST CHECK FOR LOCATION IF IT ALLOW NEGATIVE STOCK
            DealingBIZ bizLoc = new DealingBIZ();
            DealingDTO dtoLoc = bizLoc.LoadLocation(LocationCD);

            if (!dtoLoc.ALLOW_NEGATIVE.IsNull && dtoLoc.ALLOW_NEGATIVE.StrongValue == DataDefine.Convert2ClassCode(DataDefine.eALLOW_NEGATIVE.Yes))
            {
                // IF THE LOCATION IS ALLOW FOR NEGATIVE THEN NOT CHECK ONHAND
                return(null);
            }

            InventoryBIZ        biz = new InventoryBIZ();
            ActualOnhandViewDTO dto = biz.LoadActualInventoryOnHand(db, ItemCD, LocationCD, LotNo);

            SysConfigBIZ bizConfig   = new SysConfigBIZ();
            SysConfigDTO dtoMinusQty = bizConfig.LoadByPK(DataDefine.eSYSTEM_CONFIG.LOCATION.SYS_GROUP_ID, (NZString)DataDefine.eSYSTEM_CONFIG.LOCATION.SYS_KEY.MINUS_QTY.ToString());

            decimal decMinusQty = 0;

            decimal.TryParse(dtoMinusQty.CHAR_DATA.StrongValue, out decMinusQty);

            if (dto.ONHAND_QTY < decMinusQty)
            {
                return(new ErrorItem(owner, TKPMessages.eValidate.VLM0063.ToString(), new[] { ItemCD, LocationCD }));
            }
            return(null);
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        /// <exception cref="ValidateException"><c>ValidateException</c>.</exception>
        /// <exception cref="BusinessException"><c>BusinessException</c>.</exception>
        public void ValidateBeforeSaveNew(DealingDTO data)
        {
            ValidateException validateException = new ValidateException();
            ErrorItem         errorItem         = null;

            #region mandatory check
            errorItem = CheckEmptyLocationCode(data.LOC_CD);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            errorItem = CheckEmptyLocationName(data.LOC_DESC);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            errorItem = CheckEmptyLocationType(data.LOC_CLS);
            if (errorItem != null)
            {
                validateException.AddError(errorItem);
            }

            validateException.ThrowIfHasError();
            #endregion

            DealingDAO dao = new DealingDAO(CommonLib.Common.CurrentDatabase);
            if (dao.Exist(null, data.LOC_CD))
            {
                errorItem = new ErrorItem(data.LOC_CD.Owner, TKPMessages.eValidate.VLM0005.ToString());
                BusinessException businessException = new BusinessException(errorItem);
                throw businessException;
            }
        }
コード例 #5
0
        /// <summary>
        /// Check On hand Inventory function follow business rule
        /// </summary>
        /// <param name="eOperation"></param>
        /// <param name="eInoutCls"></param>
        /// <param name="QTY"></param>
        /// <param name="ItemCD"></param>
        /// <param name="LocationCD"></param>
        /// <param name="LotNo"></param>
        /// <param name="strTranID">in case of Update, this value must be sent, the others send null.</param>
        /// <returns></returns>
        public ErrorItem CheckOnhandQty(DataDefine.eOperationClass eOperation, DataDefine.eIN_OUT_CLASS eInoutCls, NZDecimal QTY, NZString ItemCD, NZString LocationCD, NZString LotNo, NZString strTranID)
        {
            // FIRST CHECK FOR LOCATION IF IT ALLOW NEGATIVE STOCK
            DealingBIZ bizLoc = new DealingBIZ();
            DealingDTO dtoLoc = bizLoc.LoadLocation(LocationCD);

            if (!dtoLoc.ALLOW_NEGATIVE.IsNull && dtoLoc.ALLOW_NEGATIVE.StrongValue == DataDefine.Convert2ClassCode(DataDefine.eALLOW_NEGATIVE.Yes))
            {
                // IF THE LOCATION IS ALLOW FOR NEGATIVE THEN NOT CHECK ONHAND
                return(null);
            }

            //Operation Class
            switch (eOperation)
            {
            case DataDefine.eOperationClass.Add:
                //Do notting
                break;

            case DataDefine.eOperationClass.Update:
                //Find Diff Qty
                InventoryTransBIZ       biz = new InventoryTransBIZ();
                InventoryTransactionDTO dto = biz.LoadByTransactionID(strTranID);
                if (dto != null)
                {
                    QTY = (QTY - dto.QTY).ToNZDecimal();
                }
                break;

            case DataDefine.eOperationClass.Delete:
                //Delete Inverse Qty
                QTY = (-1 * QTY.StrongValue).ToNZDecimal();
                break;
            }

            //inout Class
            if (eInoutCls == DataDefine.eIN_OUT_CLASS.Out)
            {
                QTY = (-1 * QTY.StrongValue).ToNZDecimal();
            }

            // CHECK FOR ONHAND WITH ACTUAL INVENTORY ONHAND
            InventoryBIZ        bizInv             = new InventoryBIZ();
            ActualOnhandViewDTO dtoActOnhand       = bizInv.LoadActualInventoryOnHand(ItemCD, LocationCD, LotNo);
            decimal             decActualOnhandQty = 0;

            if (dtoActOnhand != null && !dtoActOnhand.ONHAND_QTY.IsNull)
            {
                decActualOnhandQty = dtoActOnhand.ONHAND_QTY.StrongValue;
            }

            decActualOnhandQty = decActualOnhandQty + QTY;

            if (decActualOnhandQty < 0)
            {
                return(new ErrorItem(QTY.Owner, TKPMessages.eValidate.VLM0063.ToString(), new[] { ItemCD, LocationCD }));
            }
            return(null);
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        /// <exception cref="EVOFramework.ValidateException"><c>ValidateException</c>.</exception>
        /// <exception cref="EVOFramework.BusinessException"><c>BusinessException</c>.</exception>
        public void SaveNew(DealingUIDM data)
        {
            DealingDTO dto = MapModelToDTO(data);

            DealingBIZ biz = new DealingBIZ();

            biz.SaveNew(dto);
        }
コード例 #7
0
        private void LoadItemData(string keyFilter)
        {
            //set ให้ show column ทั้งหมด
            //shtView.Columns[0, shtView.Columns.Count - 1].Visible = true;

            DealingBIZ biz = new DealingBIZ();
            DealingDTO dto = new DealingDTO();

            //DataTable dt = null;

            if (m_LocationType != null && m_LocationType.Length > 0)
            {
                m_dtAllData = biz.LoadByLocationType(m_LocationType);
            }
            else
            {
                m_dtAllData = DTOUtility.ConvertListToDataTable <DealingDTO>(biz.LoadAllLocations(false));
            }

            FindDataFromMemory();

            //shtView.Columns[(int)eColView.CRT_BY].Visible = false;
            //shtView.Columns[(int)eColView.CRT_DATE].Visible = false;
            //shtView.Columns[(int)eColView.CRT_MACHINE].Visible = false;
            //shtView.Columns[(int)eColView.UPD_BY].Visible = false;
            //shtView.Columns[(int)eColView.UPD_DATE].Visible = false;
            //shtView.Columns[(int)eColView.UPD_MACHINE].Visible = false;
            //shtView.Columns[(int)eColView.ALLOW_NEGATIVE].Visible = false;
            //shtView.Columns[(int)eColView.MRP_LOCATION].Visible = false;

            //DataTable dtView = dt.Clone();

            //if (keyFilter != string.Empty)
            //{
            //    string [] colNames = Enum.GetNames(typeof(eColView));
            //    string filterString = string.Empty;

            //    for (int i = 0; i < colNames.Length; i++) {
            //        filterString += string.Format(@"CONVERT({0},'System.String') LIKE '%{1}%' ", colNames[i], keyFilter);
            //        if (i != colNames.Length - 1)
            //            filterString += " OR ";
            //    }

            //    //get only the rows you want
            //    DataRow [] results = dt.Select(filterString);

            //    //populate new destination table
            //    foreach (DataRow dr in results)
            //        dtView.ImportRow(dr);
            //}
            //else
            //{
            //    foreach (DataRow dr in dt.Rows)
            //        dtView.ImportRow(dr);
            //}
            //fpView.DataSource = dtView;
        }
コード例 #8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        /// <exception cref="EVOFramework.ValidateException"><c>ValidateException</c>.</exception>
        /// <exception cref="EVOFramework.BusinessException"><c>BusinessException</c>.</exception>
        public int SaveUpdate(DealingDTO data)
        {
            DealingValidator validator = new DealingValidator();

            validator.ValidateBeforeSaveUpdate(data);

            DealingDAO dao = new DealingDAO(CommonLib.Common.CurrentDatabase);

            return(dao.UpdateWithoutPK(null, data));
        }
コード例 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        /// <exception cref="EVOFramework.ValidateException"><c>ValidateException</c>.</exception>
        /// <exception cref="EVOFramework.BusinessException"><c>BusinessException</c>.</exception>
        public int SaveNew(DealingDTO data)
        {
            DealingValidator validator = new DealingValidator();

            validator.ValidateBeforeSaveNew(data);

            DealingDAO dao = new DealingDAO(CommonLib.Common.CurrentDatabase);

            return(dao.AddNew(null, data));
        }
コード例 #10
0
        /// <summary>
        /// Check exist before manipulate data. If found record will update data. Otherwise insert new data.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public int AddNewOrUpdate(Database database, DealingDTO data)
        {
            Database db = UseDatabase(database);

            if (Exist(database, data.LOC_CD))
            {
                return(UpdateWithoutPK(db, data));
            }

            return(AddNew(db, data));
        }
コード例 #11
0
        private List <InventoryTransactionDTO> CreateConsumptionDTO(InventoryTransactionDTO dto)
        {
            List <InventoryTransactionDTO> dtoConList = new List <InventoryTransactionDTO>();
            InventoryTransactionDTO        dtoCon;

            InventoryBIZ biz = new InventoryBIZ();

            // GET LOCATION INFORMATION
            DealingBIZ bizLoc        = new DealingBIZ();
            DealingDTO dtoLoc        = bizLoc.LoadLocation(dto.DEALING_NO);
            bool       AllowNegative = dtoLoc.ALLOW_NEGATIVE.StrongValue == "01";

            //WorkResultController ctrlWR=new WorkResultController ();
            List <WorkResultEntryViewDTO> dtoChildItem = biz.LoadConsumptionListFromItemCode(dto.ITEM_CD, dto.DEALING_NO, dto.QTY);

            for (int j = 0; j < dtoChildItem.Count; j++)
            {
                // GET CONSUMPTION ITEM FROM FIFO PROCESS WRITE BY KIMMIK.
                List <ActualOnhandViewDTO> dtoListActOnhand = biz.FifoListingProcess(Common.CurrentDatabase
                                                                                     , dtoChildItem[j].ITEM_CD.StrongValue, dtoChildItem[j].LOC_CD.StrongValue, dtoChildItem[j].CONSUMPTION_QTY.StrongValue
                                                                                     , !AllowNegative, AllowNegative);
                if (dtoListActOnhand != null && dtoListActOnhand.Count > 0)
                {
                    for (int i = 0; i < dtoListActOnhand.Count; i++)
                    {
                        dtoCon                  = new InventoryTransactionDTO();
                        dtoCon.ITEM_CD          = dtoListActOnhand[i].ITEM_CD;
                        dtoCon.LOC_CD           = dtoListActOnhand[i].LOC_CD;
                        dtoCon.LOT_NO           = dtoListActOnhand[i].LOT_NO;
                        dtoCon.DEALING_NO       = dto.DEALING_NO;
                        dtoCon.TRANS_DATE       = dto.TRANS_DATE;
                        dtoCon.TRANS_CLS.Value  = DataDefine.Convert2ClassCode(DataDefine.eTRANS_TYPE.Consumption);
                        dtoCon.IN_OUT_CLS.Value = DataDefine.Convert2ClassCode(DataDefine.eIN_OUT_CLASS.Out);
                        dtoCon.QTY              = dtoListActOnhand[i].ONHAND_QTY;
                        dtoCon.OBJ_ORDER_QTY    = dto.QTY;
                        dtoCon.OBJ_ITEM_CD      = dto.ITEM_CD;
                        dtoCon.REMARK           = dto.REMARK;
                        dtoCon.CRT_BY           = Common.CurrentUserInfomation.UserCD;
                        dtoCon.CRT_MACHINE      = Common.CurrentUserInfomation.Machine;
                        dtoCon.UPD_BY           = Common.CurrentUserInfomation.UserCD;
                        dtoCon.UPD_MACHINE      = Common.CurrentUserInfomation.Machine;
                        dtoCon.SCREEN_TYPE      = DataDefine.ScreenType.ReceivingEntry.ToNZString();
                        dtoCon.REF_NO           = dto.REF_NO;

                        dtoConList.Add(dtoCon);
                    }
                }
            }



            return(dtoConList);
        }
コード例 #12
0
        private void InitialComboBox()
        {
            cboLocation.Format += Common.ComboBox_Format;
            LookupDataBIZ bizLookup = new LookupDataBIZ();
            DealingDTO    dto       = new DealingDTO();

            dto.LOC_CD   = "All".ToNZString();
            dto.LOC_DESC = "All Location".ToNZString();
            LookupData lookupLocation = bizLookup.LoadLookupLocation_AddDummy(dto);

            cboLocation.LoadLookupData(lookupLocation);
        }
コード例 #13
0
        public AdjustmentEntryUIDM ConvertDTOToUIDM(InventoryTransactionDTO dto)
        {
            AdjustmentEntryUIDM model = new AdjustmentEntryUIDM();

            model.TransactionID = dto.TRANS_ID;
            model.AdjustNo      = dto.SLIP_NO;
            model.AdjustDate    = dto.TRANS_DATE;
            model.AdjustType    = dto.IN_OUT_CLS;
            model.ItemCode      = dto.ITEM_CD;

            model.StoredLoc     = dto.LOC_CD;
            model.LotNo         = dto.LOT_NO;
            model.PackNo        = dto.PACK_NO;
            model.FGNo          = dto.FG_NO;
            model.ExternalLotNo = dto.EXTERNAL_LOT_NO;
            model.AdjustWeight  = dto.WEIGHT;
            model.AdjustQty     = dto.QTY;
            model.Remark        = dto.REMARK;
            model.ReasonCode    = dto.TRAN_SUB_CLS;

            //== Get Item Description.
            ItemBIZ biz     = new ItemBIZ();
            ItemDTO itemDTO = biz.LoadItem(dto.ITEM_CD);

            model.ItemDesc = itemDTO.SHORT_NAME;

            //-- Get Customer Name
            DealingBIZ bizCust = new DealingBIZ();
            DealingDTO dtoCust = bizCust.LoadLocation(itemDTO.CUSTOMER_CD);

            model.CustomerName = dtoCust.LOC_DESC;

            //== Get OnHand.
            InventoryBIZ       inventoryBIZ       = new InventoryBIZ();
            InventoryPeriodBIZ inventoryPeriodBIZ = new InventoryPeriodBIZ();

            InventoryPeriodDTO inventoryPeriodDTO = inventoryPeriodBIZ.LoadCurrentPeriod();
            InventoryOnhandDTO inventoryOnhandDTO = inventoryBIZ.LoadInventoryOnHandByDate(inventoryPeriodDTO.YEAR_MONTH, dto.TRANS_DATE, dto.ITEM_CD, dto.LOC_CD, dto.LOT_NO, dto.PACK_NO);

            if (inventoryOnhandDTO == null)
            {
                model.OnHandQty.Value = 0;
            }
            else
            {
                model.OnHandQty = inventoryOnhandDTO.ON_HAND_QTY;
            }

            return(model);
        }
コード例 #14
0
        private void txtCusCD_Leave(object sender, EventArgs e)
        {
            DealingBIZ bizLocation = new DealingBIZ();
            DealingDTO dtoLocation = bizLocation.LoadLocation((NZString)Convert.ToString(txtCusCD.Text));

            if (dtoLocation != null)
            {
                txtCusName.Text = Convert.ToString(dtoLocation.LOC_DESC);
            }
            else
            {
                txtCusName.Text = string.Empty;
            }
        }
コード例 #15
0
        /// <summary>
        /// Load All Location
        /// </summary>
        /// <param name="dtoAddedLocation">Dummy Location to Added and Set to first Row</param>
        /// <returns></returns>
        public LookupData LoadLookupLocation_AddDummy(DealingDTO dtoAddedLocation)
        {
            DealingDAO        dao          = new DealingDAO(CommonLib.Common.CurrentDatabase);
            List <DealingDTO> dtoLocations = dao.LoadAll(null, true);

            //add Dummy Location and Set to first Row
            dtoLocations.Insert(0, dtoAddedLocation);

            DataTable  dt         = DTOUtility.ConvertListToDataTable(dtoLocations);
            LookupData lookupData = new LookupData(dt,
                                                   DealingDTO.eColumns.LOC_DESC.ToString(),
                                                   DealingDTO.eColumns.LOC_CD.ToString());

            return(lookupData);
        }
コード例 #16
0
        private void CheckCustomer(DemandOrderDTO dtoOrder)
        {
            ErrorItem errorItem;

            DealingBIZ bizCustomer = new DealingBIZ();
            DealingDTO dtoCustomer = bizCustomer.LoadLocation(dtoOrder.CUSTOMER_CD);

            if (dtoCustomer == null)
            {
                errorItem = new ErrorItem(null, TKPMessages.eValidate.VLM0108.ToString());
                throw new BusinessException(errorItem);
            }

            //check customer is exists
            //CustomerBIZ bizCustomer = new CustomerBIZ();
            //CustomerDTO dtoCustomer = new CustomerDTO();
            //dtoCustomer.CUSTOMER_CODE = dtoOrder.CUSTOMER_CD;
            //if (!bizCustomer.IsExists(dtoCustomer)) {
            //    errorItem = new ErrorItem(null, TKPMessages.eValidate.VLM0108.ToString());
            //    throw new BusinessException(errorItem);
            //}
        }
コード例 #17
0
        private DealingUIDM MapDTOToModel(DealingDTO data)
        {
            DealingUIDM model = new DealingUIDM();

            model.LOC_CD          = data.LOC_CD;
            model.LOC_DESC        = data.LOC_DESC;
            model.LOC_CLS         = data.LOC_CLS;
            model.TERM_OF_PAYMENT = data.TERM_OF_PAYMENT;
            model.INVOICE_PATTERN = data.INVOICE_PATTERN;
            model.ADDRESS1        = data.ADDRESS1;
            model.TEL1            = data.TEL1;
            model.FAX1            = data.FAX1;
            model.EMAIL1          = data.EMAIL1;
            model.CONTACT_PERSON1 = data.CONTACT_PERSON1;
            model.REMARK1         = data.REMARK1;
            model.ADDRESS2        = data.ADDRESS2;
            model.TEL2            = data.TEL2;
            model.FAX2            = data.FAX2;
            model.EMAIL2          = data.EMAIL2;
            model.CONTACT_PERSON2 = data.CONTACT_PERSON2;
            model.REMARK2         = data.REMARK2;
            model.ADDRESS3        = data.ADDRESS3;
            model.TEL3            = data.TEL3;
            model.FAX3            = data.FAX3;
            model.EMAIL3          = data.EMAIL3;
            model.CONTACT_PERSON3 = data.CONTACT_PERSON3;
            model.REMARK3         = data.REMARK3;
            model.ALLOW_NEGATIVE  = data.ALLOW_NEGATIVE;
            model.OLD_DATA        = data.OLD_DATA;
            model.CRT_BY          = data.CRT_BY;
            model.CRT_MACHINE     = data.CRT_MACHINE;
            model.CRT_DATE        = data.CRT_DATE;
            model.UPD_BY          = data.UPD_BY;
            model.UPD_MACHINE     = data.UPD_MACHINE;
            model.UPD_DATE        = data.UPD_DATE;

            return(model);
        }
コード例 #18
0
        public string GetCustomerData(NZString ItemCD)
        {
            ItemBIZ bizItem = new ItemBIZ();
            ItemDTO dtoItem = bizItem.LoadItem(ItemCD);

            if (dtoItem == null || dtoItem.ITEM_DESC.IsNull)
            {
                return(string.Empty);
            }

            //get customer
            DealingBIZ bizCust = new DealingBIZ();
            DealingDTO dtoCust = bizCust.LoadLocation(dtoItem.CUSTOMER_CD);

            if (dtoCust == null || dtoCust.LOC_DESC.IsNull)
            {
                return(string.Empty);
            }

            SelectedCustomerData = dtoCust;

            return(dtoCust.LOC_DESC.StrongValue);
        }
コード例 #19
0
        public SalesUnitPriceUIDM LoadSalesUnitPriceWithItemInfo(NZString ITEM_CD, NZDateTime START_EFF_DATE, NZString CURRENCY)
        {
            SalesUnitPriceBIZ bizPrice = new SalesUnitPriceBIZ();
            SalesUnitPriceDTO dtoPrice = bizPrice.LoadSalesUnitPriceByPK(ITEM_CD, START_EFF_DATE, CURRENCY);

            if (dtoPrice == null)
            {
                return(null);
            }

            ItemBIZ bizItem = new ItemBIZ();
            ItemDTO dtoItem = bizItem.LoadItem(ITEM_CD);

            DealingBIZ bizCust = new DealingBIZ();
            DealingDTO dtoCust = null;

            if (dtoItem != null && !dtoItem.CUSTOMER_CD.IsNull)
            {
                dtoCust = bizCust.LoadLocation(dtoItem.CUSTOMER_CD);
            }


            return(MapDTOToModel(dtoPrice, dtoItem, dtoCust));
        }
コード例 #20
0
        private DealingDTO MapModelToDTO(DealingUIDM data)
        {
            DealingDTO dto = new DealingDTO();

            dto.LOC_CD          = data.LOC_CD;
            dto.LOC_DESC        = data.LOC_DESC;
            dto.LOC_CLS         = data.LOC_CLS;
            dto.TERM_OF_PAYMENT = data.TERM_OF_PAYMENT;
            dto.INVOICE_PATTERN = data.INVOICE_PATTERN;
            dto.ADDRESS1        = data.ADDRESS1;
            dto.TEL1            = data.TEL1;
            dto.FAX1            = data.FAX1;
            dto.EMAIL1          = data.EMAIL1;
            dto.CONTACT_PERSON1 = data.CONTACT_PERSON1;
            dto.REMARK1         = data.REMARK1;
            dto.ADDRESS2        = data.ADDRESS2;
            dto.TEL2            = data.TEL2;
            dto.FAX2            = data.FAX2;
            dto.EMAIL2          = data.EMAIL2;
            dto.CONTACT_PERSON2 = data.CONTACT_PERSON2;
            dto.REMARK2         = data.REMARK2;
            dto.ADDRESS3        = data.ADDRESS3;
            dto.TEL3            = data.TEL3;
            dto.FAX3            = data.FAX3;
            dto.EMAIL3          = data.EMAIL3;
            dto.CONTACT_PERSON3 = data.CONTACT_PERSON3;
            dto.REMARK3         = data.REMARK3;
            dto.ALLOW_NEGATIVE  = "01".ToNZString(); // yes
            dto.OLD_DATA        = (0).ToNZInt();
            dto.CRT_BY          = CommonLib.Common.CurrentUserInfomation.UserCD;
            dto.CRT_MACHINE     = CommonLib.Common.CurrentUserInfomation.Machine;
            dto.UPD_BY          = CommonLib.Common.CurrentUserInfomation.UserCD;
            dto.UPD_MACHINE     = CommonLib.Common.CurrentUserInfomation.Machine;

            return(dto);
        }
コード例 #21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns>If save data operation completed will return true. Otherwise return false.</returns>
        public bool SaveData(WorkResultEntryUIDM model, DataDefine.eCONSUMPTION_CLS ConsumptionClass)
        {
            ItemBIZ             bizItem      = new ItemBIZ();
            ClassListBIZ        bizClassList = new ClassListBIZ();
            InventoryBIZ        biz          = new InventoryBIZ();
            IssueEntryValidator valLot       = new IssueEntryValidator();
            // Load default over consumption checking.
            ClassListDTO dtoOverConsumptionCheck = bizClassList.LoadByPK((NZString)DataDefine.OVER_CONSUME_CHK, (NZString)DataDefine.Convert2ClassCode(DataDefine.eOVER_CONSUME_CHK.DEFAULT));
            bool         bOverConsumeChk         = false;

            if (dtoOverConsumptionCheck != null && dtoOverConsumptionCheck.CLS_DESC.NVL(String.Empty) == "1")
            {
                bOverConsumeChk = true;
            }


            //string mode = "UPD";
            //if (model.WorkOrderNo.IsNull)
            //{
            //    mode = "ADD";
            //}

            #region Validate data
            //== Validate Header, contain: ItemCode, Order Location and Qty.
            #region Validate mandatory
            WorkResultEntryValidator workResultEntryValidator = new WorkResultEntryValidator();
            ItemValidator            itemValidator            = new ItemValidator();
            DealingValidator         locationValidator        = new DealingValidator();
            CommonBizValidator       commonVal = new CommonBizValidator();
            ValidateException.ThrowErrorItem(workResultEntryValidator.CheckWorkResultDate(model.WorkResultDate));
            ValidateException.ThrowErrorItem(itemValidator.CheckEmptyItemCode(model.ItemCode));
            ValidateException.ThrowErrorItem(workResultEntryValidator.CheckEmptyShiftType(model.ShipClass));
            ValidateException.ThrowErrorItem(workResultEntryValidator.CheckDifferentLocationOfItem(model.DataView));

            BusinessException itemFound = itemValidator.CheckItemNotExist(model.ItemCode);
            if (itemFound != null)
            {
                ValidateException.ThrowErrorItem(itemFound.Error);
            }
            if (ConsumptionClass != DataDefine.eCONSUMPTION_CLS.No)
            {
                ValidateException.ThrowErrorItem(locationValidator.CheckEmptyLocationCode(model.OrderLoc));
                ValidateException.ThrowErrorItem(locationValidator.CheckNotExistsLocationCode(model.OrderLoc));
            }

            ValidateException.ThrowErrorItem(locationValidator.CheckEmptyLocationCode(model.StoredLoc));
            ValidateException.ThrowErrorItem(locationValidator.CheckNotExistsLocationCode(model.StoredLoc));
            ValidateException.ThrowErrorItem(workResultEntryValidator.CheckWorkResultQty(model.WorkResultQty));
            ValidateException.ThrowErrorItem(workResultEntryValidator.CheckWorkResultGoodQty((NZDecimal)(model.WorkResultQty.StrongValue - model.NGQty.StrongValue)));

            // Check LotNo
            ValidateException.ThrowErrorItem(commonVal.CheckInputLot(model.ItemCode, new NZString(), model.LotNo, false));
            #endregion

            //== Validate Detail list.
            if (ConsumptionClass == DataDefine.eCONSUMPTION_CLS.Manual)
            {
                List <WorkResultEntryViewDTO> listItems = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(model.DataView);

                #region Validate detail list.
                // Check ItemCD & LotNo
                List <string> listInvalidLotNo          = new List <string>();
                List <string> listInvalidConsumptionQty = new List <string>();

                for (int i = 0; i < listItems.Count; i++)
                {
                    BusinessException itemChildNotFound = itemValidator.CheckItemNotExist(listItems[i].ITEM_CD);
                    if (itemChildNotFound != null)
                    {
                        ValidateException.ThrowErrorItem(itemChildNotFound.Error);
                    }

                    ItemDTO dtoItem             = bizItem.LoadItem(listItems[i].ITEM_CD);
                    WorkResultEntryViewDTO line = listItems[i];
                    //line.LOT_CONTROL_CLS = dtoItem.LOT_CONTROL_CLS;

                    if (line.LOT_CONTROL_CLS.StrongValue == DataDefine.Convert2ClassCode(DataDefine.eLOT_CONTROL_CLS.Yes) &&
                        (line.LOT_NO.IsNull || line.LOT_NO.StrongValue.Trim() == string.Empty))
                    {
                        if (listInvalidLotNo.Contains(line.ITEM_CD.StrongValue))
                        {
                            continue;
                        }
                        listInvalidLotNo.Add(line.ITEM_CD.StrongValue);
                    }

                    if (bOverConsumeChk)
                    {
                        if (line.CONSUMPTION_QTY.StrongValue > line.ON_HAND_QTY.StrongValue)
                        {
                            if (listInvalidConsumptionQty.Contains(line.ITEM_CD.StrongValue))
                            {
                                continue;
                            }
                            listInvalidConsumptionQty.Add(line.ITEM_CD.StrongValue);
                        }
                    }
                    ValidateException.ThrowErrorItem(commonVal.CheckInputLot(line.ITEM_CD, line.LOC_CD, line.LOT_NO, true));
                }

                // Generate item doesn't input LOT_NO
                if (listInvalidLotNo.Count > 0)
                {
                    listInvalidLotNo.Sort();

                    string errorItems = string.Empty;
                    for (int i = 0; i < listInvalidLotNo.Count; i++)
                    {
                        if (i != 0)
                        {
                            errorItems += ", ";
                        }
                        errorItems += listInvalidLotNo[i];
                    }

                    ValidateException.ThrowErrorItem(new ErrorItem(null, TKPMessages.eValidate.VLM0050.ToString(), new object[] { errorItems }));
                    return(false);
                }


                // Generate list item that input consumption qty more than stock onhand qty.
                if (listInvalidConsumptionQty.Count > 0)
                {
                    listInvalidConsumptionQty.Sort();

                    string errorItems = string.Empty;
                    for (int i = 0; i < listInvalidConsumptionQty.Count; i++)
                    {
                        if (i != 0)
                        {
                            errorItems += ", ";
                        }
                        errorItems += listInvalidConsumptionQty[i];
                    }

                    ValidateException.ThrowErrorItem(new ErrorItem(null, TKPMessages.eValidate.VLM0051.ToString(), new object[] { errorItems }));
                    return(false);
                }
                #endregion

                // Validate Child Item to support Parent Item.
                #region Validate Child Item to support Parent item.
                // Summary Consumption Qty by Item (not include LotNo) and then check compare with RequestQty.
                InventoryBIZ bizInventory = new InventoryBIZ();
                List <WorkResultEntryViewDTO> listSourceChildItems = bizInventory.LoadConsumptionListFromItemCode(model.ItemCode, model.OrderLoc, model.WorkResultQty);
                for (int i = 0; i < listSourceChildItems.Count; i++)
                {
                    object objSumByItem = model.DataView.Compute(
                        String.Format("SUM({0})", WorkResultEntryViewDTO.eColumns.CONSUMPTION_QTY),
                        String.Format("{0} = '{1}'", WorkResultEntryViewDTO.eColumns.ITEM_CD, listSourceChildItems[i].ITEM_CD.StrongValue)
                        );



                    decimal sumConsumptionQty = 0;
                    if (objSumByItem != null && objSumByItem != DBNull.Value)
                    {
                        sumConsumptionQty = Convert.ToDecimal(objSumByItem);
                    }

                    decimal diffQty = Math.Abs(sumConsumptionQty - listSourceChildItems[i].CONSUMPTION_QTY.StrongValue);
                    if (sumConsumptionQty < listSourceChildItems[i].REQUEST_QTY.StrongValue)  // Total of ConsumtpionQty < RequestQty
                    {
                        // Confirmation to continue save.
                        MessageDialogResult dr = MessageDialog.ShowConfirmation(null, Message.LoadMessage(TKPMessages.eConfirm.CFM0001.ToString(),
                                                                                                          new object[]
                        {
                            listSourceChildItems[i].ITEM_CD.StrongValue,
                            model.ItemCode.StrongValue,
                            diffQty.ToString(DataDefine.DEFAULT_FORMAT_NUMBER)
                        }),
                                                                                MessageDialogButtons.YesNo);

                        if (dr == MessageDialogResult.No)
                        {
                            return(false);
                        }
                    }
                    else if (sumConsumptionQty > listSourceChildItems[i].REQUEST_QTY.StrongValue)  // Total of ConsumtpionQty > RequestQty
                    {
                        // Confirmation to continue save.
                        MessageDialogResult dr = MessageDialog.ShowConfirmation(null, Message.LoadMessage(TKPMessages.eConfirm.CFM0002.ToString(),
                                                                                                          new object[]
                        {
                            listSourceChildItems[i].ITEM_CD.StrongValue,
                            model.ItemCode.StrongValue,
                            diffQty.ToString(DataDefine.DEFAULT_FORMAT_NUMBER)
                        }),
                                                                                MessageDialogButtons.YesNo);

                        if (dr == MessageDialogResult.No)
                        {
                            return(false);
                        }
                    }
                }
                #endregion
            }

            #endregion
            DataTable dtData;
            if (model.DataView == null)
            {
                WorkResultEntryViewDTO dto = new WorkResultEntryViewDTO();
                dto.CreateDataTableSchema(out dtData);
            }
            else
            {
                dtData = model.DataView;
            }


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

            List <InventoryTransactionDTO> listAdd    = new List <InventoryTransactionDTO>();
            List <InventoryTransactionDTO> listUpdate = new List <InventoryTransactionDTO>();
            List <InventoryTransactionDTO> listDelete = new List <InventoryTransactionDTO>();
            Database db = null;
            try
            {
                db = Common.CurrentDatabase;
                db.KeepConnection = true;
                db.BeginTransaction();

                //TransactionValidator valTran = new TransactionValidator();
                //InventoryTransBIZ bizTran = new InventoryTransBIZ();
                //bizTran.l

                #region Header
                NZString runningNo = new NZString();

                //ให้ generate lot ใหม่อีกครั้ง กรณีกรอกพร้อมกัน 2 เครื่อง ไม่งั้นมันจะ insert ข้อมูลมั่ว
                // ที่ใส่ตรงนี้เพราะว่า จะได้แก้ model.LotNo ก่อนที่จะสร้าง  object dto
                //เนื่องจาก reserve ก็มีดึง lot no ไปใช้
                if (model.WorkResultNo.IsNull)
                {
                    RunningNumberBIZ runnningBiz      = new RunningNumberBIZ();
                    NZString         strCompleteLotNo = runnningBiz.GetCompleteLotNo(new NZDateTime(null, model.WorkResultDate.StrongValue), model.StoredLoc, model.ItemCode, new NZInt(null, 0));
                    model.LotNo = strCompleteLotNo;
                }

                InventoryTransactionDTO dtoWorkResult    = CreateDTOForWorkResult(model);
                InventoryTransactionDTO dtoNGResult      = CreateDTOForNGResult(model);
                InventoryTransactionDTO dtoReserveResult = CreateDTOForReserveResult(model);

                InventoryTransBIZ bizTran = new InventoryTransBIZ();
                bizTran.LockRefSlipNumber(dtoWorkResult.REF_SLIP_NO);

                if (model.WorkResultNo.IsNull)
                {
                    RunningNumberBIZ runningNumberBIZ = new RunningNumberBIZ();
                    runningNo = runningNumberBIZ.GetCompleteRunningNo((NZString)"WORK_RESULT_SLIP_NO", (NZString)"TB_INV_TRANS_TR");

                    // Create new transaction.
                    dtoWorkResult.SLIP_NO    = runningNo;
                    dtoNGResult.SLIP_NO      = runningNo;
                    dtoReserveResult.SLIP_NO = runningNo;

                    listAdd.Add(dtoWorkResult);
                    if (model.NGQty.NVL(0) > 0)
                    {
                        listAdd.Add(dtoNGResult);
                    }

                    if (model.ReserveQty.NVL(0) > 0)
                    {
                        listAdd.Add(dtoReserveResult);
                    }
                }
                else
                {
                    // Update old transaction
                    runningNo = model.WorkResultNo;

                    listUpdate.Add(dtoWorkResult);

                    if (!model.NGTransactionID.IsNull) // UPDATE NG IF IT ALREADY HAS NG QTY
                    {
                        listUpdate.Add(dtoNGResult);
                    }
                    else if (model.NGQty.NVL(0) > 0) // ADD NEW NG TRANS IF NEW NG IS INPUT
                    {
                        //dtoNGResult.SLIP_NO = dtoWorkResult.SLIP_NO;
                        listAdd.Add(dtoNGResult);
                    }

                    if (!model.ReserveTransactionID.IsNull) // UPDATE Reserve IF IT ALREADY HAS Reserve QTY
                    {
                        listUpdate.Add(dtoReserveResult);
                    }
                    else if (model.ReserveQty.NVL(0) > 0) // ADD NEW Reserve TRANS IF NEW NG IS INPUT
                    {
                        //dtoReserveResult.SLIP_NO = dtoWorkResult.SLIP_NO;
                        listAdd.Add(dtoNGResult);
                    }
                }

                #endregion

                #region Detail

                #region Do Auto Consumption
                if (ConsumptionClass == DataDefine.eCONSUMPTION_CLS.Auto)
                {
                    // WHEN CONSUMPTION IS AUTO
                    // DELETE ALL OLD TRANSACTION FIRST THEN ADD NEW

                    //Modify by Bunyapat L.
                    //28 Apr 2011
                    //ให้สั่ง ClearConsumption ไปเลย
                    List <WorkResultEntryViewDTO>  listTMPDelete = null;
                    List <InventoryTransactionDTO> listTmpDelete = null;

                    if (dtData != null && dtData.Rows.Count > 0)
                    {
                        listTMPDelete = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(dtData);
                        listTmpDelete = new List <InventoryTransactionDTO>();
                        for (int i = 0; i < listTMPDelete.Count; i++)
                        {
                            WorkResultEntryViewDTO  line = listTMPDelete[i];
                            InventoryTransactionDTO dto  = CreateDTOForConsumption(model, line);
                            dto.REF_NO = runningNo;

                            listTmpDelete.Add(dto);
                        }

                        // Move to delete below section
                        //biz.WorkResultItems(Common.CurrentDatabase, null, null, listTmpDelete);
                    }

                    biz.ClearConsumption(Common.CurrentDatabase, dtoWorkResult);

                    if (dtData != null && dtData.Rows.Count > 0)
                    {
                        List <WorkResultEntryViewDTO> listTMPAdd = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(dtData);

                        // GET LOCATION INFORMATION
                        DealingBIZ bizLoc = new DealingBIZ();
                        for (int i = 0; i < listTMPAdd.Count; i++)
                        {
                            DealingDTO dtoLoc        = bizLoc.LoadLocation(listTMPAdd[i].LOC_CD);
                            bool       AllowNegative = dtoLoc.ALLOW_NEGATIVE.StrongValue == "01";


                            // GET CONSUMPTION ITEM FROM FIFO PROCESS WRITE BY KIMMIK.
                            List <ActualOnhandViewDTO> dtoListActOnhand = biz.FifoListingProcess(Common.CurrentDatabase
                                                                                                 , listTMPAdd[i].ITEM_CD.StrongValue, listTMPAdd[i].LOC_CD.StrongValue
                                                                                                 , listTMPAdd[i].CONSUMPTION_QTY.StrongValue
                                                                                                 , !AllowNegative, AllowNegative);
                            if (dtoListActOnhand != null && dtoListActOnhand.Count > 0)
                            {
                                for (int j = 0; j < dtoListActOnhand.Count; j++)
                                {
                                    InventoryTransactionDTO dto = CreateDTOForConsumption(model, dtoListActOnhand[j]);
                                    dto.REF_NO = runningNo;

                                    listAdd.Add(dto);
                                }
                            }
                        }
                    }
                    biz.WorkResultItems(Common.CurrentDatabase, listAdd, listUpdate, listDelete);
                }
                #endregion

                #region Do Manual Consumption
                if (ConsumptionClass == DataDefine.eCONSUMPTION_CLS.Manual)
                {
                    List <InventoryTransactionDTO> listTmpDelete = new List <InventoryTransactionDTO>();
                    //== Update process.
                    //Modify by Bunyapat L.
                    //28 Apr 2011
                    //Manual consumption ให้ใช้การ insert เข้า Delete ทุกตัวที่เป็นตัวเก่า
                    //แล้วค่อย Add ตัวใหม่แทน เพราะข้างใน function มันจะทำการ clear consumption ทั้งหมด ไม่งั้นจะเกิด bug ตอน update
                    if (dtUpdate != null && dtUpdate.Rows.Count > 0)
                    {
                        List <WorkResultEntryViewDTO> listViewUpdate = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(dtUpdate);


                        for (int i = 0; i < listViewUpdate.Count; i++)
                        {
                            WorkResultEntryViewDTO line = listViewUpdate[i];

                            // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                            InventoryTransactionDTO dto = CreateDTOForConsumption(model, line);
                            dto.REF_NO = runningNo;

                            //listUpdate.Add(dto);
                            listAdd.Add(dto);
                            listTmpDelete.Add((InventoryTransactionDTO)dto.Clone());
                        }
                    }

                    //== Insert process.
                    if (dtAdd != null && dtAdd.Rows.Count > 0)
                    {
                        List <WorkResultEntryViewDTO> listViewAdd = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(dtAdd);

                        for (int i = 0; i < listViewAdd.Count; i++)
                        {
                            WorkResultEntryViewDTO  line = listViewAdd[i];
                            InventoryTransactionDTO dto  = CreateDTOForConsumption(model, line);
                            dto.REF_NO = runningNo;

                            listAdd.Add(dto);
                        }
                    }


                    //== Delete process.
                    if (dtDelete != null && dtDelete.Rows.Count > 0)
                    {
                        List <WorkResultEntryViewDTO> listViewDelete = DTOUtility.ConvertDataTableToList <WorkResultEntryViewDTO>(dtDelete);
                        for (int i = 0; i < dtDelete.Rows.Count; i++)
                        {
                            WorkResultEntryViewDTO line = listViewDelete[i];

                            // Copy ค่า Header จาก Model ไปยัง DTO แต่ละตัว
                            InventoryTransactionDTO dto = CreateDTOForConsumption(model, line);
                            dto.REF_NO = runningNo;

                            listDelete.Add(dto);
                        }
                    }
                    biz.WorkResultItems(Common.CurrentDatabase, null, null, listTmpDelete);
                    biz.WorkResultItems(Common.CurrentDatabase, listAdd, listUpdate, listDelete);
                }
                #endregion

                #region Do No Consumption
                if (ConsumptionClass == DataDefine.eCONSUMPTION_CLS.No)
                {
                    biz.WorkResultItems(Common.CurrentDatabase, listAdd, listUpdate, listDelete);
                }
                #endregion
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
            finally
            {
                if (db.DBConnectionState == ConnectionState.Open)
                {
                    db.Close();
                }
            }

            return(true);
        }
コード例 #22
0
        /// <summary>
        /// Insert new record into database.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public int AddNew(Database database, DealingDTO data)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" INSERT INTO " + data.TableName + "(");
            sb.AppendLine("  " + DealingDTO.eColumns.CRT_BY);
            sb.AppendLine("  ," + DealingDTO.eColumns.CRT_DATE);
            sb.AppendLine("  ," + DealingDTO.eColumns.CRT_MACHINE);
            sb.AppendLine("  ," + DealingDTO.eColumns.UPD_BY);
            sb.AppendLine("  ," + DealingDTO.eColumns.UPD_DATE);
            sb.AppendLine("  ," + DealingDTO.eColumns.UPD_MACHINE);
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_CD);
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_DESC);
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_CLS);
            sb.AppendLine("  ," + DealingDTO.eColumns.TERM_OF_PAYMENT);
            sb.AppendLine("  ," + DealingDTO.eColumns.INVOICE_PATTERN);
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS1);
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL1);
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX1);
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL1);
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON1);
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK1);
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS2);
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL2);
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX2);
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL2);
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON2);
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK2);
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS3);
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL3);
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX3);
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL3);
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON3);
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK3);
            sb.AppendLine("  ," + DealingDTO.eColumns.ALLOW_NEGATIVE);
            sb.AppendLine("  ," + DealingDTO.eColumns.OLD_DATA);
            sb.AppendLine(") VALUES(");
            sb.AppendLine("   @CRT_BY");
            sb.AppendLine("   ,GETDATE()");
            sb.AppendLine("   ,@CRT_MACHINE");
            sb.AppendLine("   ,@UPD_BY");
            sb.AppendLine("   ,GETDATE()");
            sb.AppendLine("   ,@UPD_MACHINE");
            sb.AppendLine("   ,@LOC_CD");
            sb.AppendLine("   ,@LOC_DESC");
            sb.AppendLine("   ,@LOC_CLS");
            sb.AppendLine("   ,@TERM_OF_PAYMENT");
            sb.AppendLine("   ,@INVOICE_PATTERN");
            sb.AppendLine("   ,@ADDRESS1");
            sb.AppendLine("   ,@TEL1");
            sb.AppendLine("   ,@FAX1");
            sb.AppendLine("   ,@EMAIL1");
            sb.AppendLine("   ,@CONTACT_PERSON1");
            sb.AppendLine("   ,@REMARK1");
            sb.AppendLine("   ,@ADDRESS2");
            sb.AppendLine("   ,@TEL2");
            sb.AppendLine("   ,@FAX2");
            sb.AppendLine("   ,@EMAIL2");
            sb.AppendLine("   ,@CONTACT_PERSON2");
            sb.AppendLine("   ,@REMARK2");
            sb.AppendLine("   ,@ADDRESS3");
            sb.AppendLine("   ,@TEL3");
            sb.AppendLine("   ,@FAX3");
            sb.AppendLine("   ,@EMAIL3");
            sb.AppendLine("   ,@CONTACT_PERSON3");
            sb.AppendLine("   ,@REMARK3");
            sb.AppendLine("   ,@ALLOW_NEGATIVE");
            sb.AppendLine("   ,@OLD_DATA");
            sb.AppendLine(" )");
            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            #region Parameters
            req.Parameters.Add("@CRT_BY", DataType.NVarChar, data.CRT_BY.Value);
            req.Parameters.Add("@CRT_MACHINE", DataType.NVarChar, data.CRT_MACHINE.Value);
            req.Parameters.Add("@UPD_BY", DataType.NVarChar, data.UPD_BY.Value);
            req.Parameters.Add("@UPD_MACHINE", DataType.NVarChar, data.UPD_MACHINE.Value);
            req.Parameters.Add("@LOC_CD", DataType.NVarChar, data.LOC_CD.Value);
            req.Parameters.Add("@LOC_DESC", DataType.NVarChar, data.LOC_DESC.Value);
            req.Parameters.Add("@LOC_CLS", DataType.NVarChar, data.LOC_CLS.Value);
            req.Parameters.Add("@TERM_OF_PAYMENT", DataType.NVarChar, data.TERM_OF_PAYMENT.Value);
            req.Parameters.Add("@INVOICE_PATTERN", DataType.NVarChar, data.INVOICE_PATTERN.Value);
            req.Parameters.Add("@ADDRESS1", DataType.NVarChar, data.ADDRESS1.Value);
            req.Parameters.Add("@TEL1", DataType.NVarChar, data.TEL1.Value);
            req.Parameters.Add("@FAX1", DataType.NVarChar, data.FAX1.Value);
            req.Parameters.Add("@EMAIL1", DataType.NVarChar, data.EMAIL1.Value);
            req.Parameters.Add("@CONTACT_PERSON1", DataType.NVarChar, data.CONTACT_PERSON1.Value);
            req.Parameters.Add("@REMARK1", DataType.NVarChar, data.REMARK1.Value);
            req.Parameters.Add("@ADDRESS2", DataType.NVarChar, data.ADDRESS2.Value);
            req.Parameters.Add("@TEL2", DataType.NVarChar, data.TEL2.Value);
            req.Parameters.Add("@FAX2", DataType.NVarChar, data.FAX2.Value);
            req.Parameters.Add("@EMAIL2", DataType.NVarChar, data.EMAIL2.Value);
            req.Parameters.Add("@CONTACT_PERSON2", DataType.NVarChar, data.CONTACT_PERSON2.Value);
            req.Parameters.Add("@REMARK2", DataType.NVarChar, data.REMARK2.Value);
            req.Parameters.Add("@ADDRESS3", DataType.NVarChar, data.ADDRESS3.Value);
            req.Parameters.Add("@TEL3", DataType.NVarChar, data.TEL3.Value);
            req.Parameters.Add("@FAX3", DataType.NVarChar, data.FAX3.Value);
            req.Parameters.Add("@EMAIL3", DataType.NVarChar, data.EMAIL3.Value);
            req.Parameters.Add("@CONTACT_PERSON3", DataType.NVarChar, data.CONTACT_PERSON3.Value);
            req.Parameters.Add("@REMARK3", DataType.NVarChar, data.REMARK3.Value);
            req.Parameters.Add("@ALLOW_NEGATIVE", DataType.NVarChar, data.ALLOW_NEGATIVE.Value);
            req.Parameters.Add("@OLD_DATA", DataType.Default, data.OLD_DATA.Value);
            #endregion

            return(db.ExecuteNonQuery(req));
        }
コード例 #23
0
        /// <summary>
        /// Update record by using the table's primary key.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data">Data which to update.</param>
        /// <param name="oldLOC_CD">Old Key #1</param>
        /// <returns></returns>
        public int UpdateWithPK(Database database, DealingDTO data, String oldLOC_CD)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" UPDATE " + data.TableName);
            sb.AppendLine(" SET ");
            sb.AppendLine("  " + DealingDTO.eColumns.UPD_BY + "=@UPD_BY");
            sb.AppendLine("  ," + DealingDTO.eColumns.UPD_DATE + "=GETDATE()");
            sb.AppendLine("  ," + DealingDTO.eColumns.UPD_MACHINE + "=@UPD_MACHINE");
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_CD + "=@LOC_CD");
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_DESC + "=@LOC_DESC");
            sb.AppendLine("  ," + DealingDTO.eColumns.LOC_CLS + "=@LOC_CLS");
            sb.AppendLine("  ," + DealingDTO.eColumns.TERM_OF_PAYMENT + "=@TERM_OF_PAYMENT");
            sb.AppendLine("  ," + DealingDTO.eColumns.INVOICE_PATTERN + "=@INVOICE_PATTERN");
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS1 + "=@ADDRESS1");
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL1 + "=@TEL1");
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX1 + "=@FAX1");
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL1 + "=@EMAIL1");
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON1 + "=@CONTACT_PERSON1");
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK1 + "=@REMARK1");
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS2 + "=@ADDRESS2");
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL2 + "=@TEL2");
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX2 + "=@FAX2");
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL2 + "=@EMAIL2");
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON2 + "=@CONTACT_PERSON2");
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK2 + "=@REMARK2");
            sb.AppendLine("  ," + DealingDTO.eColumns.ADDRESS3 + "=@ADDRESS3");
            sb.AppendLine("  ," + DealingDTO.eColumns.TEL3 + "=@TEL3");
            sb.AppendLine("  ," + DealingDTO.eColumns.FAX3 + "=@FAX3");
            sb.AppendLine("  ," + DealingDTO.eColumns.EMAIL3 + "=@EMAIL3");
            sb.AppendLine("  ," + DealingDTO.eColumns.CONTACT_PERSON3 + "=@CONTACT_PERSON3");
            sb.AppendLine("  ," + DealingDTO.eColumns.REMARK3 + "=@REMARK3");
            sb.AppendLine("  ," + DealingDTO.eColumns.ALLOW_NEGATIVE + "=@ALLOW_NEGATIVE");
            sb.AppendLine("  ," + DealingDTO.eColumns.OLD_DATA + "=@OLD_DATA");
            sb.AppendLine(" WHERE ");
            sb.AppendLine("  " + DealingDTO.eColumns.LOC_CD + "=@oldLOC_CD");
            #endregion

            DataRequest req = new DataRequest(sb.ToString());
            #region Parameters
            req.Parameters.Add("@UPD_BY", DataType.NVarChar, data.UPD_BY.Value);
            req.Parameters.Add("@UPD_MACHINE", DataType.NVarChar, data.UPD_MACHINE.Value);
            req.Parameters.Add("@LOC_CD", DataType.NVarChar, data.LOC_CD.Value);
            req.Parameters.Add("@LOC_DESC", DataType.NVarChar, data.LOC_DESC.Value);
            req.Parameters.Add("@LOC_CLS", DataType.NVarChar, data.LOC_CLS.Value);
            req.Parameters.Add("@TERM_OF_PAYMENT", DataType.NVarChar, data.TERM_OF_PAYMENT.Value);
            req.Parameters.Add("@INVOICE_PATTERN", DataType.NVarChar, data.INVOICE_PATTERN.Value);
            req.Parameters.Add("@ADDRESS1", DataType.NVarChar, data.ADDRESS1.Value);
            req.Parameters.Add("@TEL1", DataType.NVarChar, data.TEL1.Value);
            req.Parameters.Add("@FAX1", DataType.NVarChar, data.FAX1.Value);
            req.Parameters.Add("@EMAIL1", DataType.NVarChar, data.EMAIL1.Value);
            req.Parameters.Add("@CONTACT_PERSON1", DataType.NVarChar, data.CONTACT_PERSON1.Value);
            req.Parameters.Add("@REMARK1", DataType.NVarChar, data.REMARK1.Value);
            req.Parameters.Add("@ADDRESS2", DataType.NVarChar, data.ADDRESS2.Value);
            req.Parameters.Add("@TEL2", DataType.NVarChar, data.TEL2.Value);
            req.Parameters.Add("@FAX2", DataType.NVarChar, data.FAX2.Value);
            req.Parameters.Add("@EMAIL2", DataType.NVarChar, data.EMAIL2.Value);
            req.Parameters.Add("@CONTACT_PERSON2", DataType.NVarChar, data.CONTACT_PERSON2.Value);
            req.Parameters.Add("@REMARK2", DataType.NVarChar, data.REMARK2.Value);
            req.Parameters.Add("@ADDRESS3", DataType.NVarChar, data.ADDRESS3.Value);
            req.Parameters.Add("@TEL3", DataType.NVarChar, data.TEL3.Value);
            req.Parameters.Add("@FAX3", DataType.NVarChar, data.FAX3.Value);
            req.Parameters.Add("@EMAIL3", DataType.NVarChar, data.EMAIL3.Value);
            req.Parameters.Add("@CONTACT_PERSON3", DataType.NVarChar, data.CONTACT_PERSON3.Value);
            req.Parameters.Add("@REMARK3", DataType.NVarChar, data.REMARK3.Value);
            req.Parameters.Add("@ALLOW_NEGATIVE", DataType.NVarChar, data.ALLOW_NEGATIVE.Value);
            req.Parameters.Add("@OLD_DATA", DataType.Default, data.OLD_DATA.Value);
            req.Parameters.Add("@oldLOC_CD", DataType.NVarChar, oldLOC_CD);
            #endregion

            return(db.ExecuteNonQuery(req));
        }
コード例 #24
0
        private SalesUnitPriceUIDM MapDTOToModel(SalesUnitPriceDTO Price, ItemDTO Item, DealingDTO Customer)
        {
            SalesUnitPriceUIDM model = new SalesUnitPriceUIDM();

            model.CRT_BY               = Price.CRT_BY;
            model.CRT_DATE             = Price.CRT_DATE;
            model.CRT_MACHINE          = Price.CRT_MACHINE;
            model.UPD_BY               = Price.UPD_BY;
            model.UPD_DATE             = Price.UPD_DATE;
            model.UPD_MACHINE          = Price.UPD_MACHINE;
            model.ITEM_CD              = Price.ITEM_CD;
            model.START_EFFECTIVE_DATE = Price.START_EFFECTIVE_DATE;
            model.PRICE    = Price.PRICE;
            model.CURRENCY = Price.CURRENCY;
            model.REMARK   = Price.REMARK;
            model.OLD_DATA = Price.OLD_DATA;

            if (Item != null && !Item.ITEM_DESC.IsNull)
            {
                model.SHORT_NAME = Item.SHORT_NAME;
            }
            if (Customer != null && !Customer.LOC_DESC.IsNull)
            {
                model.CUSTOMER_NAME = Customer.LOC_DESC;
            }

            return(model);
        }