Exemple #1
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, MRPHDTO data)
        {
            Database db = UseDatabase(database);

            if (Exist(database, data.MRP_NO, data.ITEM_CD, data.ORDER_LOC_CD))
            {
                return(UpdateWithoutPK(db, data));
            }

            return(AddNew(db, data));
        }
Exemple #2
0
        public void UpdateBalanceStock(Database database, MRPHDTO dto)
        {
            Database db = UseDatabase(database);

            DataRequest req = new DataRequest();

            req.CommandText = "S_MRP020_UPDATE_BALANCE_ITEM";
            req.CommandType = CommandType.StoredProcedure;
            req.Parameters.Add("@pMRP_NO", DataType.VarChar, dto.MRP_NO.Value);
            req.Parameters.Add("@pITEM_CD", DataType.VarChar, dto.ITEM_CD.Value);
            req.Parameters.Add("@pORDER_LOC_CD", DataType.VarChar, dto.ORDER_LOC_CD.Value);
            //req.Parameters.Add("@pVar_UPD_BY", DataType.VarChar, dto.UPD_BY.Value);
            //req.Parameters.Add("@pVar_UPD_MACHINE", DataType.VarChar, dto.UPD_MACHINE.Value);

            db.ExecuteNonQuery(req);
        }
Exemple #3
0
        public void SaveData(MRPHDTO dtoHeader, List <MRPDDTO> dtoInsert, List <MRPDDTO> dtoUpdate, List <MRPDDTO> dtoDelete)
        {
            try {
                CheckBeforeSave();

                Common.CurrentDatabase.KeepConnection = true;
                Common.CurrentDatabase.BeginTransaction(IsolationLevel.Serializable);

                //Update Header
                MRPHDAO daoMRPH = new MRPHDAO(Common.CurrentDatabase);
                daoMRPH.UpdateMRPRevision(null, dtoHeader);

                MRPDDAO daoMRPD = new MRPDDAO(Common.CurrentDatabase);

                if (dtoDelete != null && dtoDelete.Count > 0)
                {
                    foreach (MRPDDTO dto in dtoDelete)
                    {
                        dto.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.CRT_DATE    = DateTime.Now.ToNZDateTime();
                        dto.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.UPD_DATE    = DateTime.Now.ToNZDateTime();
                        dto.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                        daoMRPD.Delete(null, dto.MRP_NO, dto.ITEM_CD, dto.ORDER_LOC_CD, dto.AT_DATE);
                    }
                }

                if (dtoInsert != null && dtoInsert.Count > 0)
                {
                    foreach (MRPDDTO dto in dtoInsert)
                    {
                        dto.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.CRT_DATE    = DateTime.Now.ToNZDateTime();
                        dto.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.UPD_DATE    = DateTime.Now.ToNZDateTime();
                        dto.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                        daoMRPD.AddNewOrUpdate(null, dto);
                    }
                }

                if (dtoUpdate != null && dtoUpdate.Count > 0)
                {
                    foreach (MRPDDTO dto in dtoUpdate)
                    {
                        dto.CRT_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.CRT_DATE    = DateTime.Now.ToNZDateTime();
                        dto.CRT_MACHINE = Common.CurrentUserInfomation.Machine;
                        dto.UPD_BY      = Common.CurrentUserInfomation.UserCD;
                        dto.UPD_DATE    = DateTime.Now.ToNZDateTime();
                        dto.UPD_MACHINE = Common.CurrentUserInfomation.Machine;
                        daoMRPD.AddNewOrUpdate(null, dto);
                    }
                }

                //Call Update Balance Stock
                daoMRPD.UpdateBalanceStock(null, dtoHeader);

                Common.CurrentDatabase.Commit();
            }
            catch (Exception) {
                Common.CurrentDatabase.Rollback();
                throw;
            }
        }
Exemple #4
0
        /// <summary>
        /// Insert new record into database.
        /// </summary>
        /// <param name="database"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public int AddNew(Database database, MRPHDTO data)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" INSERT INTO " + data.TableName + "(");
            sb.AppendLine("  " + MRPHDTO.eColumns.CRT_BY);
            sb.AppendLine("  ," + MRPHDTO.eColumns.CRT_DATE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.CRT_MACHINE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.UPD_BY);
            sb.AppendLine("  ," + MRPHDTO.eColumns.UPD_DATE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.UPD_MACHINE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.IS_ACTIVE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.MRP_NO);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_CD);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_LOC_CD);
            sb.AppendLine("  ," + MRPHDTO.eColumns.REVISION_NO);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_CLS);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_DESC);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_PROCESS_CLS);
            sb.AppendLine("  ," + MRPHDTO.eColumns.LOT_SIZE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.REORDER_POINT);
            sb.AppendLine("  ," + MRPHDTO.eColumns.SAFETY_STOCK);
            sb.AppendLine("  ," + MRPHDTO.eColumns.MINIMUM_ORDER);
            sb.AppendLine("  ," + MRPHDTO.eColumns.INV_UM_CLS);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_UM_CLS);
            sb.AppendLine("  ," + MRPHDTO.eColumns.INV_UM_RATE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_UM_RATE);
            sb.AppendLine("  ," + MRPHDTO.eColumns.MAX_CAPACITY);
            sb.AppendLine("  ," + MRPHDTO.eColumns.LEADTIME);
            sb.AppendLine("  ," + MRPHDTO.eColumns.SAFETY_LEADTIME);
            sb.AppendLine("  ," + MRPHDTO.eColumns.MRP_FLAG);
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_CONDITION);
            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("   ,:IS_ACTIVE");
            sb.AppendLine("   ,:MRP_NO");
            sb.AppendLine("   ,:ITEM_CD");
            sb.AppendLine("   ,:ORDER_LOC_CD");
            sb.AppendLine("   ,:REVISION_NO");
            sb.AppendLine("   ,:ITEM_CLS");
            sb.AppendLine("   ,:ITEM_DESC");
            sb.AppendLine("   ,:ORDER_PROCESS_CLS");
            sb.AppendLine("   ,:LOT_SIZE");
            sb.AppendLine("   ,:REORDER_POINT");
            sb.AppendLine("   ,:SAFETY_STOCK");
            sb.AppendLine("   ,:MINIMUM_ORDER");
            sb.AppendLine("   ,:INV_UM_CLS");
            sb.AppendLine("   ,:ORDER_UM_CLS");
            sb.AppendLine("   ,:INV_UM_RATE");
            sb.AppendLine("   ,:ORDER_UM_RATE");
            sb.AppendLine("   ,:MAX_CAPACITY");
            sb.AppendLine("   ,:LEADTIME");
            sb.AppendLine("   ,:SAFETY_LEADTIME");
            sb.AppendLine("   ,:MRP_FLAG");
            sb.AppendLine("   ,:ORDER_CONDITION");
            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("IS_ACTIVE", DataType.Number, data.IS_ACTIVE.Value);
            req.Parameters.Add("MRP_NO", DataType.NVarChar, data.MRP_NO.Value);
            req.Parameters.Add("ITEM_CD", DataType.NVarChar, data.ITEM_CD.Value);
            req.Parameters.Add("ORDER_LOC_CD", DataType.NVarChar, data.ORDER_LOC_CD.Value);
            req.Parameters.Add("REVISION_NO", DataType.Number, data.REVISION_NO.Value);
            req.Parameters.Add("ITEM_CLS", DataType.NVarChar, data.ITEM_CLS.Value);
            req.Parameters.Add("ITEM_DESC", DataType.NVarChar, data.ITEM_DESC.Value);
            req.Parameters.Add("ORDER_PROCESS_CLS", DataType.NVarChar, data.ORDER_PROCESS_CLS.Value);
            req.Parameters.Add("LOT_SIZE", DataType.Number, data.LOT_SIZE.Value);
            req.Parameters.Add("REORDER_POINT", DataType.Number, data.REORDER_POINT.Value);
            req.Parameters.Add("SAFETY_STOCK", DataType.Number, data.SAFETY_STOCK.Value);
            req.Parameters.Add("MINIMUM_ORDER", DataType.Number, data.MINIMUM_ORDER.Value);
            req.Parameters.Add("INV_UM_CLS", DataType.NVarChar, data.INV_UM_CLS.Value);
            req.Parameters.Add("ORDER_UM_CLS", DataType.NVarChar, data.ORDER_UM_CLS.Value);
            req.Parameters.Add("INV_UM_RATE", DataType.Number, data.INV_UM_RATE.Value);
            req.Parameters.Add("ORDER_UM_RATE", DataType.Number, data.ORDER_UM_RATE.Value);
            req.Parameters.Add("MAX_CAPACITY", DataType.Number, data.MAX_CAPACITY.Value);
            req.Parameters.Add("LEADTIME", DataType.Number, data.LEADTIME.Value);
            req.Parameters.Add("SAFETY_LEADTIME", DataType.Number, data.SAFETY_LEADTIME.Value);
            req.Parameters.Add("MRP_FLAG", DataType.NVarChar, data.MRP_FLAG.Value);
            req.Parameters.Add("ORDER_CONDITION", DataType.NVarChar, data.ORDER_CONDITION.Value);
            #endregion

            return(db.ExecuteNonQuery(req));
        }
Exemple #5
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="oldMRP_NO">Old Key #1</param>
        /// <param name="oldITEM_CD">Old Key #2</param>
        /// <param name="oldORDER_LOC_CD">Old Key #3</param>
        /// <returns></returns>
        public int UpdateWithPK(Database database, MRPHDTO data, String oldMRP_NO, String oldITEM_CD, String oldORDER_LOC_CD)
        {
            Database db = UseDatabase(database);

            StringBuilder sb = new StringBuilder();

            #region SQL Statement
            sb.AppendLine(" UPDATE " + data.TableName);
            sb.AppendLine(" SET ");
            sb.AppendLine("  " + MRPHDTO.eColumns.UPD_BY + "=:UPD_BY");
            sb.AppendLine("  ," + MRPHDTO.eColumns.UPD_DATE + "=GETDATE()");
            sb.AppendLine("  ," + MRPHDTO.eColumns.UPD_MACHINE + "=:UPD_MACHINE");
            sb.AppendLine("  ," + MRPHDTO.eColumns.IS_ACTIVE + "=:IS_ACTIVE");
            sb.AppendLine("  ," + MRPHDTO.eColumns.MRP_NO + "=:MRP_NO");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_CD + "=:ITEM_CD");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_LOC_CD + "=:ORDER_LOC_CD");
            sb.AppendLine("  ," + MRPHDTO.eColumns.REVISION_NO + "=:REVISION_NO");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_CLS + "=:ITEM_CLS");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ITEM_DESC + "=:ITEM_DESC");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_PROCESS_CLS + "=:ORDER_PROCESS_CLS");
            sb.AppendLine("  ," + MRPHDTO.eColumns.LOT_SIZE + "=:LOT_SIZE");
            sb.AppendLine("  ," + MRPHDTO.eColumns.REORDER_POINT + "=:REORDER_POINT");
            sb.AppendLine("  ," + MRPHDTO.eColumns.SAFETY_STOCK + "=:SAFETY_STOCK");
            sb.AppendLine("  ," + MRPHDTO.eColumns.MINIMUM_ORDER + "=:MINIMUM_ORDER");
            sb.AppendLine("  ," + MRPHDTO.eColumns.INV_UM_CLS + "=:INV_UM_CLS");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_UM_CLS + "=:ORDER_UM_CLS");
            sb.AppendLine("  ," + MRPHDTO.eColumns.INV_UM_RATE + "=:INV_UM_RATE");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_UM_RATE + "=:ORDER_UM_RATE");
            sb.AppendLine("  ," + MRPHDTO.eColumns.MAX_CAPACITY + "=:MAX_CAPACITY");
            sb.AppendLine("  ," + MRPHDTO.eColumns.LEADTIME + "=:LEADTIME");
            sb.AppendLine("  ," + MRPHDTO.eColumns.SAFETY_LEADTIME + "=:SAFETY_LEADTIME");
            sb.AppendLine("  ," + MRPHDTO.eColumns.MRP_FLAG + "=:MRP_FLAG");
            sb.AppendLine("  ," + MRPHDTO.eColumns.ORDER_CONDITION + "=:ORDER_CONDITION");
            sb.AppendLine(" WHERE ");
            sb.AppendLine("  " + MRPHDTO.eColumns.MRP_NO + "=:oldMRP_NO");
            sb.AppendLine("  AND " + MRPHDTO.eColumns.ITEM_CD + "=:oldMRPH");
            sb.AppendLine("  AND " + MRPHDTO.eColumns.ORDER_LOC_CD + "=:oldMRPH");
            #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("IS_ACTIVE", DataType.Number, data.IS_ACTIVE.Value);
            req.Parameters.Add("MRP_NO", DataType.NVarChar, data.MRP_NO.Value);
            req.Parameters.Add("ITEM_CD", DataType.NVarChar, data.ITEM_CD.Value);
            req.Parameters.Add("ORDER_LOC_CD", DataType.NVarChar, data.ORDER_LOC_CD.Value);
            req.Parameters.Add("REVISION_NO", DataType.Number, data.REVISION_NO.Value);
            req.Parameters.Add("ITEM_CLS", DataType.NVarChar, data.ITEM_CLS.Value);
            req.Parameters.Add("ITEM_DESC", DataType.NVarChar, data.ITEM_DESC.Value);
            req.Parameters.Add("ORDER_PROCESS_CLS", DataType.NVarChar, data.ORDER_PROCESS_CLS.Value);
            req.Parameters.Add("LOT_SIZE", DataType.Number, data.LOT_SIZE.Value);
            req.Parameters.Add("REORDER_POINT", DataType.Number, data.REORDER_POINT.Value);
            req.Parameters.Add("SAFETY_STOCK", DataType.Number, data.SAFETY_STOCK.Value);
            req.Parameters.Add("MINIMUM_ORDER", DataType.Number, data.MINIMUM_ORDER.Value);
            req.Parameters.Add("INV_UM_CLS", DataType.NVarChar, data.INV_UM_CLS.Value);
            req.Parameters.Add("ORDER_UM_CLS", DataType.NVarChar, data.ORDER_UM_CLS.Value);
            req.Parameters.Add("INV_UM_RATE", DataType.Number, data.INV_UM_RATE.Value);
            req.Parameters.Add("ORDER_UM_RATE", DataType.Number, data.ORDER_UM_RATE.Value);
            req.Parameters.Add("MAX_CAPACITY", DataType.Number, data.MAX_CAPACITY.Value);
            req.Parameters.Add("LEADTIME", DataType.Number, data.LEADTIME.Value);
            req.Parameters.Add("SAFETY_LEADTIME", DataType.Number, data.SAFETY_LEADTIME.Value);
            req.Parameters.Add("MRP_FLAG", DataType.NVarChar, data.MRP_FLAG.Value);
            req.Parameters.Add("ORDER_CONDITION", DataType.NVarChar, data.ORDER_CONDITION.Value);
            req.Parameters.Add("oldMRP_NO", DataType.NVarChar, oldMRP_NO);
            req.Parameters.Add("oldITEM_CD", DataType.NVarChar, oldITEM_CD);
            req.Parameters.Add("oldORDER_LOC_CD", DataType.NVarChar, oldORDER_LOC_CD);
            #endregion

            return(db.ExecuteNonQuery(req));
        }