// 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); }
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); }
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); }