コード例 #1
0
        public mlRESQtaByTdr C_SEToReServe(mlREQQtaByTdrReserve poREQQtaByTdrReserve)
        {
            var oRESQtaByTdrcs = new cResQtaByTdrcs();
            var oSql           = new StringBuilder();

            try
            {
                if (poREQQtaByTdrReserve.tML_BBYQuota == "0" || poREQQtaByTdrReserve.tML_BBYQuota == "")// กันเหนียวไว้ก่อน
                {
                    tC_ResCod  = "03";
                    tC_Message = "จำนวน Quota เกิน Limit ที่กำหนด";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
                }
                switch (poREQQtaByTdrReserve.tML_BBYQuotaType)
                {
                case "1":     //Per Bonus Buy

                    oSql = C_GEToCountTransNo(poREQQtaByTdrReserve);
                    oSql.AppendLine("GROUP BY FTScdBBYNo");
                    return(C_CHKoQuota(oSql.ToString(), poREQQtaByTdrReserve));

                case "2":     //Per Store

                    oSql = C_GEToCountTransNo(poREQQtaByTdrReserve);
                    oSql.AppendLine("AND (FTStmCode = '" + poREQQtaByTdrReserve.tML_StmCode + "')");
                    oSql.AppendLine("GROUP BY FTStmCode, FTScdBBYNo");
                    return(C_CHKoQuota(oSql.ToString(), poREQQtaByTdrReserve));

                case "3":     //per Plant

                    oSql = C_GEToCountTransNo(poREQQtaByTdrReserve);
                    oSql.AppendLine("AND (FTShdPlantCode = '" + poREQQtaByTdrReserve.tML_PlantCode + "')");
                    oSql.AppendLine("GROUP BY FTShdPlantCode, FTScdBBYNo");
                    return(C_CHKoQuota(oSql.ToString(), poREQQtaByTdrReserve));

                case "4":     //per Day

                    oSql = C_GEToCountTransNo(poREQQtaByTdrReserve);
                    oSql.AppendLine("AND (FTShdPlantCode = '" + poREQQtaByTdrReserve.tML_PlantCode + "')");
                    oSql.AppendLine("AND (DATENAME(dw, FDShdTransDate) = '" + poREQQtaByTdrReserve.tML_BBYDayName + "')");
                    oSql.AppendLine("GROUP BY FTScdBBYNo, DATENAME(dw, FDShdTransDate)");
                    return(C_CHKoQuota(oSql.ToString(), poREQQtaByTdrReserve));

                default:
                    tC_ResCod  = "44";
                    tC_Message = "ข้อมูล BBYQuotaType ไม่ถูกต้อง";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
                }
            }
            catch (Exception oEx)
            {
                tC_ResCod  = "44";
                tC_Message = "[ReServe : C_SEToReServe] Error=" + oEx.Message;
                return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
            }
        }
コード例 #2
0
        private mlRESQtaByTdr C_CHKoQuota(string ptSql, mlREQQtaByTdrReserve poREQQtaByTdrReserve)
        {
            var oRESQtaByTdrcs = new cResQtaByTdrcs();
            var oINSQtaByTdr   = new cInsQtaByTdr();

            try
            {
                // Check Quota By Exprie
                var oTransDate = DateTime.Parse(poREQQtaByTdrReserve.tML_TransDate);
                var oStartDate = DateTime.Parse(poREQQtaByTdrReserve.tML_BBYStartDate);
                var oEndDate   = DateTime.Parse(poREQQtaByTdrReserve.tML_BBYEndDate);
                if (oTransDate < oStartDate || oTransDate > oEndDate)
                {
                    tC_ResCod  = "45";
                    tC_Message = "ไม่อยู่ในช่วงโปรโมชั่น";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
                }

                //Check Quota By Count
                var oDtQuota = cCNSP.SP_GEToDbTbl(ptSql);
                if (oDtQuota.Rows.Count != 0)
                {
                    // Count By CrdQuota
                    if (int.Parse(oDtQuota.Rows[0]["FNIDCnt"].ToString()) >= int.Parse(poREQQtaByTdrReserve.tML_CrdQuota))
                    {
                        tC_ResCod  = "03";
                        tC_Message = "CrdQuota Limit  บัตรใช้งาน ครบจำนวนแล้ว";
                        return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
                    }
                    // Count By TransNo
                    else if (int.Parse(oDtQuota.Rows[0]["FNCnt"].ToString()) >= int.Parse(poREQQtaByTdrReserve.tML_BBYQuota))
                    {
                        tC_ResCod  = "03";
                        tC_Message = "จำนวน Quota เกิน Limit";
                        return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
                    }
                    else
                    {
                        //เจอรหัสโปรโมรชั่น และยังไม่หมดโครต้า ให้ทำการจอง
                        return(oINSQtaByTdr.C_INSoTPSTSalBBYTdr(poREQQtaByTdrReserve));
                    }
                }
                else
                {
                    //ไม่เจอรหัสโปรโมรชั่น ให้ทำการจอง
                    return(oINSQtaByTdr.C_INSoTPSTSalBBYTdr(poREQQtaByTdrReserve));
                }
            }
            catch (Exception oEx)
            {
                tC_ResCod  = "44";
                tC_Message = "[ReServe : C_CHKoQuota] Error=" + oEx.Message;
                return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message));
            }
        }
コード例 #3
0
        public mlRESQtaByTdr C_SEToUsed(mlREQQtaByTdrUsed poREQQtaByTdrUsed)
        {
            var    oRESQtaByTdrcs = new cResQtaByTdrcs();
            var    oSql           = new StringBuilder();
            string tResCode;
            string tMessage;
            string tTransStatus = "U";

            try
            {
                var tTransDate = "'" + cCNSP.DTEtByFormat(poREQQtaByTdrUsed.tML_TransDate, "YYYY-MM-DD") + "'";
                oSql.Clear();
                oSql.AppendLine("UPDATE TPSTSalBBYTdr WITH(ROWLOCK)");
                oSql.AppendLine("SET FTSbyStatus='" + tTransStatus + "' ");
                oSql.AppendLine(",FCScdAmt = '" + poREQQtaByTdrUsed.tML_DiscAmt + "' ");
                oSql.AppendLine("WHERE (FTShdPlantCode = '" + poREQQtaByTdrUsed.tML_PlantCode + "' )");
                oSql.AppendLine("AND (FTTmnNum = '" + poREQQtaByTdrUsed.tML_POSNo + "')");
                oSql.AppendLine("AND (FTShdTransNo = '" + poREQQtaByTdrUsed.tML_TransNo + "' )");
                oSql.AppendLine("AND (FTShdTransType = '" + poREQQtaByTdrUsed.tML_TransType + "' )");
                oSql.AppendLine("AND (FDShdTransDate = " + tTransDate + " )");
                oSql.AppendLine("AND (FTScdBBYNo = '" + poREQQtaByTdrUsed.tML_BBYNo + "' )");
                oSql.AppendLine("AND (FDDateIns = '" + poREQQtaByTdrUsed.tML_DateIns + "' )");
                oSql.AppendLine("AND (FTTimeIns = '" + poREQQtaByTdrUsed.tML_TimeIns + "' )");
                oSql.AppendLine("AND (FNSrcSeqNo = '" + poREQQtaByTdrUsed.tML_SrcSeqNo + "' )");
                oSql.AppendLine("AND (FTSbyStatus = 'R')");
                var nResult = cCNSP.SP_SETnDbTbl(oSql.ToString());
                if (nResult > 0)
                {
                    tResCode = "04";
                    tMessage = "ยืนยันการใช่สิทธิ์ สำเร็จ";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
                }
                else
                {
                    tResCode = "44";
                    tMessage = "ยืนยันการใช่สิทธิ์ ไม่สำเร็จ";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
                }
            }
            catch (Exception oEx)
            {
                tResCode = "44";
                tMessage = "Used Error=" + oEx.Message;
                return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
            }
        }
コード例 #4
0
ファイル: cCancel.cs プロジェクト: Jabavokza/MlCheckStockAPI
        public mlRESQtaByTdr C_SEToCancel(mlREQQtaByTdrCancel poREQQtaByTdrCancel)
        {
            var    oRESQtaByTdrcs = new cResQtaByTdrcs();
            var    oSql           = new StringBuilder();
            string tResCode;
            string tMessage;
            string tTransStatus = "U";

            try
            {
                var tTransDate = "'" + cCNSP.DTEtByFormat(poREQQtaByTdrCancel.tML_TransDate, "YYYY-MM-DD") + "'";
                oSql.Clear();
                oSql.AppendLine("UPDATE TPSTSalBBYTdr WITH(ROWLOCK)");
                oSql.AppendLine("SET FTSbyStatus='" + tTransStatus + "' ");
                oSql.AppendLine("WHERE (FTShdPlantCode = '" + poREQQtaByTdrCancel.tML_PlantCode + "')");
                oSql.AppendLine("AND (FTTmnNum = '" + poREQQtaByTdrCancel.tML_POSNo + "')");
                oSql.AppendLine("AND (FTShdTransNo = '" + poREQQtaByTdrCancel.tML_TransNo + "')");
                oSql.AppendLine("AND (FTShdTransType = '" + poREQQtaByTdrCancel.tML_TransType + "')");
                oSql.AppendLine("AND (FDShdTransDate = " + tTransDate + " )");
                oSql.AppendLine("AND (FTScdBBYNo = '" + poREQQtaByTdrCancel.tML_BBYNo + "')");
                oSql.AppendLine("AND (FDDateIns = '" + poREQQtaByTdrCancel.tML_DateIns + "')");
                oSql.AppendLine("AND (FTTimeIns = '" + poREQQtaByTdrCancel.tML_TimeIns + "')");
                oSql.AppendLine("AND (FNSrcSeqNo = '" + poREQQtaByTdrCancel.tML_SrcSeqNo + "')");
                oSql.AppendLine("AND (FTSbyStatus = 'R')");
                int nResult = cCNSP.SP_SETnDbTbl(oSql.ToString());
                if (nResult > 0)
                {
                    tResCode = "01";
                    tMessage = "ยกเลิกการจอง สำเร็จ";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
                }
                else
                {
                    tResCode = "44";
                    tMessage = "ยกเลิกการจอง ไม่สำเร็จ";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
                }
            }
            catch (Exception ex)
            {
                tResCode = "44";
                tMessage = "[Cancel] Error=" + ex.Message;
                return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tResCode, tMessage));
            }
        }