Exemple #1
0
        public mlRESQtaByTdr C_SEToReServe(mlREQQtaByTdrReserve poREQQtaByTdrReserve)
        {
            var oRESQtaByTdrcs = new cResMsgQtaByTdrcs();
            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));
            }
        }
Exemple #2
0
        private mlRESQtaByTdr C_CHKoQuota(string ptSql, mlREQQtaByTdrReserve poREQQtaByTdrReserve)
        {
            var oRESQtaByTdrcs = new cResMsgQtaByTdrcs();
            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 = cConDbByTender.C_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));
            }
        }
Exemple #3
0
        public mlRESQtaByTdr C_SEToUsed(mlREQQtaByTdrUsed poREQQtaByTdrUsed)
        {
            var    oRESQtaByTdrcs = new cResMsgQtaByTdrcs();
            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 = cConDbByTender.C_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));
            }
        }
        public mlRESQtaByTdr C_INSoTPSTSalBBYTdr(mlREQQtaByTdrReserve poREQQtaByTdrReserve)
        {
            StringBuilder     oSql           = new StringBuilder();
            cResMsgQtaByTdrcs oRESQtaByTdrcs = new cResMsgQtaByTdrcs();
            string            tC_ResCod;
            string            tC_Message;
            string            tTransStatus = "R";

            try
            {
                string tTransDate = "'" + cCNSP.DTEtByFormat(poREQQtaByTdrReserve.tML_TransDate, "YYYY-MM-DD") + "'";
                oSql.Clear();
                oSql.AppendLine("INSERT INTO TPSTSalBBYTdr WITH(ROWLOCK) (");
                oSql.AppendLine("FTStmCode");
                oSql.AppendLine(",FTTmnNum");
                oSql.AppendLine(",FTShdTransNo");
                oSql.AppendLine(",FTShdTransType");
                oSql.AppendLine(",FDShdTransDate");
                oSql.AppendLine(",FTShdPlantCode");
                oSql.AppendLine(",FTSbyStatus");
                oSql.AppendLine(",FTScdCardID");
                oSql.AppendLine(",FTMcdCardType");
                oSql.AppendLine(",FTScdBBYProfID");
                oSql.AppendLine(",FTScdBBYNo");
                oSql.AppendLine(",FTSbyQuotaType");
                oSql.AppendLine(",FTSbyDayName");
                oSql.AppendLine(",FTSbyQuota");
                oSql.AppendLine(",FNPpmCrdQuota");
                oSql.AppendLine(",FTTdmCode");
                oSql.AppendLine(",FTCdcCreditType");
                oSql.AppendLine(",FCScdAmtB4Avi");
                oSql.AppendLine(",FTWhoIns");
                oSql.AppendLine(",FDDateIns");
                oSql.AppendLine(",FTTimeIns");
                oSql.AppendLine(",FNSrcSeqNo");
                oSql.AppendLine(")VALUES(");
                oSql.AppendLine("'" + poREQQtaByTdrReserve.tML_StmCode + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_POSNo + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_TransNo + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_TransType + "'");
                oSql.AppendLine(",CONVERT(VARCHAR(10), " + tTransDate + ", 121)");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_PlantCode + "'");
                oSql.AppendLine(",'" + tTransStatus + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_McardNo + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_McardType + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_BBYProfID + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_BBYNo + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_BBYQuotaType + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_BBYDayName + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_BBYQuota + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_CrdQuota + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_TdmCode + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_TdmCardType + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_AmtB4Disc + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_UserName + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_DateIns + "'");
                oSql.AppendLine(",'" + poREQQtaByTdrReserve.tML_TimeIns + "'");
                oSql.AppendLine(",'" + int.Parse(poREQQtaByTdrReserve.tML_SrcSeqNo) + "'");
                oSql.AppendLine(")");
                int nResult = cConDbByTender.C_SETnDbTbl(oSql.ToString());
                if (nResult > 0)
                {
                    tC_ResCod  = "00";
                    tC_Message = "จองสิทธิ์ส่วนลด สำเร็จ";
                    return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message, poREQQtaByTdrReserve.tML_DateIns, poREQQtaByTdrReserve.tML_TimeIns));
                }
                else
                {
                    throw new Exception();
                }
            }
            catch (SqlException)
            {
                tC_ResCod  = "44";
                tC_Message = "จองสิทธิ์ส่วนลด ไม่สำเร็จ อาจจะมีอยู่แล้ว หรือใช้ไปแล้ว";
                return(oRESQtaByTdrcs.C_SEToRESQtaByTdr(tC_ResCod, tC_Message, poREQQtaByTdrReserve.tML_DateIns, poREQQtaByTdrReserve.tML_TimeIns));
            }
        }