public bool CheckCanModifyDate(MRPDDTO dto) { //แก้ไขได้เฉพาะ order qty if (!dto.INCOMING_QTY.IsNull) { return(false); } if (!dto.OUTGOING_QTY.IsNull) { return(false); } if (!dto.REQ_QTY.IsNull) { return(false); } if (!dto.ON_HAND_QTY.IsNull) { return(false); } if (!dto.ACT_REQ_QTY.IsNull) { return(false); } if (!dto.ACT_REQ_LOT_QTY.IsNull) { return(false); } return(true); }
public bool CheckCanDelete(MRPDDTO dto) { //ถ้ามีเฉพาะ order qty สามารถลบได้ //if (!dto.AT_DATE.IsNull) // return false; if (!dto.INCOMING_QTY.IsNull) { return(false); } if (!dto.OUTGOING_QTY.IsNull) { return(false); } if (!dto.REQ_QTY.IsNull) { return(false); } if (!dto.ON_HAND_QTY.IsNull) { return(false); } if (!dto.ACT_REQ_QTY.IsNull) { return(false); } if (!dto.ACT_REQ_LOT_QTY.IsNull) { return(false); } return(true); }
/// <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> /// <param name="oldAT_DATE">Old Key #4</param> /// <returns></returns> public int UpdateWithPK(Database database, MRPDDTO data, String oldMRP_NO, String oldITEM_CD, String oldORDER_LOC_CD, DateTime oldAT_DATE) { Database db = UseDatabase(database); StringBuilder sb = new StringBuilder(); #region SQL Statement sb.AppendLine(" UPDATE " + data.TableName); sb.AppendLine(" SET "); sb.AppendLine(" " + MRPDDTO.eColumns.UPD_BY + "=:UPD_BY"); sb.AppendLine(" ," + MRPDDTO.eColumns.UPD_DATE + "=GETDATE()"); sb.AppendLine(" ," + MRPDDTO.eColumns.UPD_MACHINE + "=:UPD_MACHINE"); sb.AppendLine(" ," + MRPDDTO.eColumns.IS_ACTIVE + "=:IS_ACTIVE"); sb.AppendLine(" ," + MRPDDTO.eColumns.MRP_NO + "=:MRP_NO"); sb.AppendLine(" ," + MRPDDTO.eColumns.ITEM_CD + "=:ITEM_CD"); sb.AppendLine(" ," + MRPDDTO.eColumns.ORDER_LOC_CD + "=:ORDER_LOC_CD"); sb.AppendLine(" ," + MRPDDTO.eColumns.AT_DATE + "=:AT_DATE"); sb.AppendLine(" ," + MRPDDTO.eColumns.INCOMING_QTY + "=:INCOMING_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.OUTGOING_QTY + "=:OUTGOING_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.REQ_QTY + "=:REQ_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.ACT_REQ_QTY + "=:ACT_REQ_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.ACT_REQ_LOT_QTY + "=:ACT_REQ_LOT_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.ORDER_QTY + "=:ORDER_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.ON_HAND_QTY + "=:ON_HAND_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.BAL_QTY + "=:BAL_QTY"); sb.AppendLine(" ," + MRPDDTO.eColumns.BAL_LOT_QTY + "=:BAL_LOT_QTY"); sb.AppendLine(" WHERE "); sb.AppendLine(" " + MRPDDTO.eColumns.MRP_NO + "=:oldMRP_NO"); sb.AppendLine(" AND " + MRPDDTO.eColumns.ITEM_CD + "=:oldMRPD"); sb.AppendLine(" AND " + MRPDDTO.eColumns.ORDER_LOC_CD + "=:oldMRPD"); sb.AppendLine(" AND " + MRPDDTO.eColumns.AT_DATE + "=:oldMRPD"); #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("AT_DATE", DataType.DateTime, data.AT_DATE.Value); req.Parameters.Add("INCOMING_QTY", DataType.Number, data.INCOMING_QTY.Value); req.Parameters.Add("OUTGOING_QTY", DataType.Number, data.OUTGOING_QTY.Value); req.Parameters.Add("REQ_QTY", DataType.Number, data.REQ_QTY.Value); req.Parameters.Add("ACT_REQ_QTY", DataType.Number, data.ACT_REQ_QTY.Value); req.Parameters.Add("ACT_REQ_LOT_QTY", DataType.Number, data.ACT_REQ_LOT_QTY.Value); req.Parameters.Add("ORDER_QTY", DataType.Number, data.ORDER_QTY.Value); req.Parameters.Add("ON_HAND_QTY", DataType.Number, data.ON_HAND_QTY.Value); req.Parameters.Add("BAL_QTY", DataType.Number, data.BAL_QTY.Value); req.Parameters.Add("BAL_LOT_QTY", DataType.Number, data.BAL_LOT_QTY.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); req.Parameters.Add("oldAT_DATE", DataType.DateTime, oldAT_DATE); #endregion return(db.ExecuteNonQuery(req)); }
/// <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, MRPDDTO data) { Database db = UseDatabase(database); if (Exist(database, data.MRP_NO, data.ITEM_CD, data.ORDER_LOC_CD, data.AT_DATE)) { return(UpdateWithoutPK(db, data)); } return(AddNew(db, data)); }
/// <summary> /// Insert new record into database. /// </summary> /// <param name="database"></param> /// <param name="data"></param> /// <returns></returns> public int AddNew(Database database, MRPDDTO data) { Database db = UseDatabase(database); StringBuilder sb = new StringBuilder(); #region SQL Statement sb.AppendLine(" INSERT INTO " + data.TableName + "("); sb.AppendLine(" " + MRPDDTO.eColumns.CRT_BY); sb.AppendLine(" ," + MRPDDTO.eColumns.CRT_DATE); sb.AppendLine(" ," + MRPDDTO.eColumns.CRT_MACHINE); sb.AppendLine(" ," + MRPDDTO.eColumns.UPD_BY); sb.AppendLine(" ," + MRPDDTO.eColumns.UPD_DATE); sb.AppendLine(" ," + MRPDDTO.eColumns.UPD_MACHINE); sb.AppendLine(" ," + MRPDDTO.eColumns.IS_ACTIVE); sb.AppendLine(" ," + MRPDDTO.eColumns.MRP_NO); sb.AppendLine(" ," + MRPDDTO.eColumns.ITEM_CD); sb.AppendLine(" ," + MRPDDTO.eColumns.ORDER_LOC_CD); sb.AppendLine(" ," + MRPDDTO.eColumns.AT_DATE); sb.AppendLine(" ," + MRPDDTO.eColumns.INCOMING_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.OUTGOING_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.REQ_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.ACT_REQ_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.ACT_REQ_LOT_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.ORDER_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.ON_HAND_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.BAL_QTY); sb.AppendLine(" ," + MRPDDTO.eColumns.BAL_LOT_QTY); 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(" ,:AT_DATE"); sb.AppendLine(" ,:INCOMING_QTY"); sb.AppendLine(" ,:OUTGOING_QTY"); sb.AppendLine(" ,:REQ_QTY"); sb.AppendLine(" ,:ACT_REQ_QTY"); sb.AppendLine(" ,:ACT_REQ_LOT_QTY"); sb.AppendLine(" ,:ORDER_QTY"); sb.AppendLine(" ,:ON_HAND_QTY"); sb.AppendLine(" ,:BAL_QTY"); sb.AppendLine(" ,:BAL_LOT_QTY"); 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("AT_DATE", DataType.DateTime, data.AT_DATE.Value); req.Parameters.Add("INCOMING_QTY", DataType.Number, data.INCOMING_QTY.Value); req.Parameters.Add("OUTGOING_QTY", DataType.Number, data.OUTGOING_QTY.Value); req.Parameters.Add("REQ_QTY", DataType.Number, data.REQ_QTY.Value); req.Parameters.Add("ACT_REQ_QTY", DataType.Number, data.ACT_REQ_QTY.Value); req.Parameters.Add("ACT_REQ_LOT_QTY", DataType.Number, data.ACT_REQ_LOT_QTY.Value); req.Parameters.Add("ORDER_QTY", DataType.Number, data.ORDER_QTY.Value); req.Parameters.Add("ON_HAND_QTY", DataType.Number, data.ON_HAND_QTY.Value); req.Parameters.Add("BAL_QTY", DataType.Number, data.BAL_QTY.Value); req.Parameters.Add("BAL_LOT_QTY", DataType.Number, data.BAL_LOT_QTY.Value); #endregion return(db.ExecuteNonQuery(req)); }