Exemplo n.º 1
0
//		public int InsertCoupon (IDbTransaction tran, string strCode, int iNumberOfMinutesGiven,
//			int iNumberOfCentsGiven, uint uiIdBookofCoupons, ref uint uiId)
//		{
//			CmpMoneyOffCouponsDB cmpCoupon = new CmpMoneyOffCouponsDB();
//			uiId=cmpCoupon.GetMaximumPk(tran);
//
//			return cmpCoupon.InsertCoupon( uiId, strCode, iNumberOfMinutesGiven, iNumberOfCentsGiven, uiIdBookofCoupons );
//
//		}

        public CmpMoneyOffCouponsDB.MoneyOffCouponsStates GetMoneyOffCouponState(string strCouponCode, ref DateTime dtStartDate, ref DateTime dtExpDate,
                                                                                 ref int iNumberOfMinutesGiven, ref int iNumberOfCentsGiven,
                                                                                 ref uint uiID)
        {
            CmpMoneyOffCouponsDB.MoneyOffCouponsStates result = CmpMoneyOffCouponsDB.MoneyOffCouponsStates.PendingActivation;
            dtStartDate           = DateTime.MaxValue;
            dtExpDate             = DateTime.MinValue;
            iNumberOfMinutesGiven = -1;
            iNumberOfCentsGiven   = -1;
            uiID = 0;

            try
            {
                CmpMoneyOffCouponsDB cmp = new CmpMoneyOffCouponsDB();
                DataTable            dt  = cmp.GetData(null, "COUP_CODE =  @MONEYOFF_COUPON.COUP_CODE@",
                                                       new object[] { strCouponCode });


                if (dt.Rows.Count > 0)
                {
                    CmpMoneyOffCouponsDB.MoneyOffCouponsStates state = (CmpMoneyOffCouponsDB.MoneyOffCouponsStates)Convert.ToInt32(dt.Rows[0]["COUP_STATE"]);
                    uiID = Convert.ToUInt32(dt.Rows[0]["COUP_ID"]);

                    if (dt.Rows[0]["COUP_START_DATE"] != DBNull.Value)
                    {
                        dtStartDate = Convert.ToDateTime(dt.Rows[0]["COUP_START_DATE"]);
                    }

                    if (dt.Rows[0]["COUP_EXP_DATE"] != DBNull.Value)
                    {
                        dtExpDate = Convert.ToDateTime(dt.Rows[0]["COUP_EXP_DATE"]);
                    }

                    if (dt.Rows[0]["COUP_DISCOUNT_TIME"] != DBNull.Value)
                    {
                        iNumberOfMinutesGiven = Convert.ToInt32(dt.Rows[0]["COUP_DISCOUNT_TIME"]);
                    }

                    if (dt.Rows[0]["COUP_DISCOUNT_MONEY"] != DBNull.Value)
                    {
                        iNumberOfCentsGiven = Convert.ToInt32(dt.Rows[0]["COUP_DISCOUNT_MONEY"]);
                    }
                }
            }
            catch
            {
            }

            return(result);
        }
Exemplo n.º 2
0
        public int GenerateBooksOfCoupons(IDbTransaction tran, int iNumOfBookOfCoupons,
                                          int iNumOfCouponsInABookOfCoupons,
                                          CmpMoneyOffCouponsDB.MoneyOffCouponsStates State,
                                          DateTime startDate, DateTime expDate,
                                          DateTime actDate, uint uiCustomerId)
        {
            int result = -1;

            try
            {
                CmpMoneyOffCouponsDB       cmpCoupons     = new CmpMoneyOffCouponsDB();
                CmpMoneyOffBookOfCouponsDB cmpBookCoupons = new CmpMoneyOffBookOfCouponsDB();
                int iNumberOfMinutesGiven = -1;
                int iNumberOfCentsGiven   = -1;
                int iRes = 1;

                System.Configuration.AppSettingsReader appSettings = new System.Configuration.AppSettingsReader();
                try
                {
                    iNumberOfMinutesGiven = (int)appSettings.GetValue("MoneyOffCouponsDefaultNumberOfMinutesGiven", typeof(int));
                }
                catch
                {
                    iNumberOfMinutesGiven = -1;
                }

                try
                {
                    iNumberOfCentsGiven = (int)appSettings.GetValue("MoneyOffCouponsDefaultNumberOfCentsGiven", typeof(int));
                }
                catch
                {
                    iNumberOfCentsGiven = -1;
                }

                int iNumOfCurrBooks = 0;

                if (((iNumberOfMinutesGiven > 0) && (iNumberOfCentsGiven == -1)) ||
                    ((iNumberOfMinutesGiven == -1) && (iNumberOfCentsGiven > 0)))
                {
                    if ((State == CmpMoneyOffCouponsDB.MoneyOffCouponsStates.PendingActivation) || (State == CmpMoneyOffCouponsDB.MoneyOffCouponsStates.Actived))
                    {
                        if (iNumOfBookOfCoupons > 0)
                        {
                            while ((iNumOfCurrBooks < iNumOfBookOfCoupons) && (iRes > 0))
                            {
                                uint uiBookID = cmpBookCoupons.GetMaximumPk(tran) + 1;

                                if (iNumOfCouponsInABookOfCoupons > 0)
                                {
                                    if (cmpBookCoupons.InsertBookOfCoupons(tran, uiBookID) > 0)
                                    {
                                        int    iNumOfCurrCoupons = 0;
                                        uint   uiFirstCouponID   = cmpCoupons.GetMaximumPk(tran) + 1;
                                        uint   uiCouponID        = uiFirstCouponID;
                                        string strCode           = "";

                                        while ((iNumOfCurrCoupons < iNumOfCouponsInABookOfCoupons) && (iRes > 0))
                                        {
                                            strCode = GenerateUniqueCode(tran);
                                            if (strCode.Length > 0)
                                            {
                                                iRes = cmpCoupons.InsertCoupon(tran, uiCouponID, strCode, iNumberOfMinutesGiven, iNumberOfCentsGiven, uiBookID);
                                            }
                                            else
                                            {
                                                iRes = -1;
                                            }

                                            if ((iRes > 0) && (State == CmpMoneyOffCouponsDB.MoneyOffCouponsStates.Actived))
                                            {
                                                iRes = SetCouponAsActived(tran, uiCouponID, startDate, expDate, actDate, uiCustomerId);
                                            }

                                            iNumOfCurrCoupons++;
                                            if ((iRes > 0) && (iNumOfCurrCoupons < iNumOfCouponsInABookOfCoupons))
                                            {
                                                uiCouponID = cmpCoupons.GetMaximumPk(tran) + 1;
                                            }
                                        }


                                        if (iRes > 0)
                                        {
                                            iRes = cmpBookCoupons.UpdateBookOfCoupons(tran, uiBookID, uiFirstCouponID, uiCouponID);
                                        }
                                    }
                                }

                                iNumOfCurrBooks++;
                            }

                            result = iRes;
                        }
                    }
                }
            }
            catch
            {
                result = -1;
            }


            return(result);
        }
Exemplo n.º 3
0
        public MoneyOffCouponsResults IsMoneyOffCouponUsable(string strCouponCode, DateTime dtTime, ref int iNumberOfMinutesGiven,
                                                             ref int iNumberOfCentsGiven, ref uint uiID)
        {
            MoneyOffCouponsResults result = MoneyOffCouponsResults.DontExist;

            iNumberOfMinutesGiven = -1;
            iNumberOfCentsGiven   = -1;
            uiID = 0;


            try
            {
                CmpMoneyOffCouponsDB cmp = new CmpMoneyOffCouponsDB();
                DataTable            dt  = cmp.GetData(null, "COUP_CODE =  @MONEYOFF_COUPON.COUP_CODE@",
                                                       new object[] { strCouponCode });


                if (dt.Rows.Count > 0)
                {
                    CmpMoneyOffCouponsDB.MoneyOffCouponsStates state = (CmpMoneyOffCouponsDB.MoneyOffCouponsStates)Convert.ToInt32(dt.Rows[0]["COUP_STATE"]);

                    switch (state)
                    {
                    case CmpMoneyOffCouponsDB.MoneyOffCouponsStates.PendingActivation:
                        result = MoneyOffCouponsResults.NotActived;
                        break;

                    case CmpMoneyOffCouponsDB.MoneyOffCouponsStates.Used:
                        result = MoneyOffCouponsResults.AlreadyUsed;
                        break;

                    case CmpMoneyOffCouponsDB.MoneyOffCouponsStates.Cancelled:
                        result = MoneyOffCouponsResults.Cancelled;
                        break;

                    case CmpMoneyOffCouponsDB.MoneyOffCouponsStates.Actived:
                    {
                        DateTime dtStartDate;
                        DateTime dtExpDate;

                        if (dt.Rows[0]["COUP_START_DATE"] != DBNull.Value)
                        {
                            dtStartDate = Convert.ToDateTime(dt.Rows[0]["COUP_START_DATE"]);
                        }
                        else
                        {
                            dtStartDate = DateTime.MaxValue;
                        }

                        if (dt.Rows[0]["COUP_EXP_DATE"] != DBNull.Value)
                        {
                            dtExpDate = Convert.ToDateTime(dt.Rows[0]["COUP_EXP_DATE"]);
                        }
                        else
                        {
                            dtExpDate = DateTime.MinValue;
                        }

                        if (dtTime > dtStartDate)
                        {
                            if (dtTime < dtExpDate)
                            {
                                result = MoneyOffCouponsResults.Usable;
                                uiID   = Convert.ToUInt32(dt.Rows[0]["COUP_ID"]);

                                if (dt.Rows[0]["COUP_DISCOUNT_TIME"] != DBNull.Value)
                                {
                                    iNumberOfMinutesGiven = Convert.ToInt32(dt.Rows[0]["COUP_DISCOUNT_TIME"]);
                                }
                                else
                                {
                                    iNumberOfMinutesGiven = -1;
                                }

                                if (dt.Rows[0]["COUP_DISCOUNT_MONEY"] != DBNull.Value)
                                {
                                    iNumberOfCentsGiven = Convert.ToInt32(dt.Rows[0]["COUP_DISCOUNT_MONEY"]);
                                }
                                else
                                {
                                    iNumberOfCentsGiven = -1;
                                }
                            }
                            else
                            {
                                result = MoneyOffCouponsResults.Expired;
                            }
                        }
                        else
                        {
                            result = MoneyOffCouponsResults.NotStarted;
                        }
                    }
                    break;
                    }
                }
            }
            catch
            {
            }

            return(result);
        }