public void UpdateTier(PromotionTier tier, int promotionId, int tierId, int conditionId, int lineNumber, int conditionOnId, string conditionOn, int conditionCodeId, string conditionCode, decimal buyQtyFrom, decimal buyQtyTo, decimal qty, int discountTypeId, string discountTypeVal, decimal discountValue, int statusId, string status) { tier.PromotionId = promotionId; tier.TierId = tierId; tier.ConditionId = conditionId; tier.LineNumber = lineNumber; tier.BuyQtyFrom = buyQtyFrom; tier.BuyQtyTo = buyQtyTo; tier.ConditionOnId = conditionOnId; tier.ConditionOnVal = conditionOn; tier.ConditionCodeId = conditionCodeId; tier.ConditionCodeVal = conditionCode; tier.Qty = qty; tier.DiscountTypeId = discountTypeId; tier.DiscountTypeVal = discountTypeVal; tier.DiscountValue = discountValue; tier.StatusId = statusId; tier.StatusVal = status; }
public Promotion Search(string xmlDoc, string spName, ref string errorMessage) { Promotion promotion = new Promotion(); DBParameterList dbParam; using (DataTaskManager dtManager = new DataTaskManager()) { dbParam = new DBParameterList(); dbParam.Add(new DBParameter(Common.PARAM_DATA, xmlDoc, DbType.String)); dbParam.Add(new DBParameter(Common.PARAM_OUTPUT, errorMessage, DbType.String, ParameterDirection.Output, Common.PARAM_OUTPUT_LENGTH)); DataSet ds = dtManager.ExecuteDataSet(spName, dbParam); errorMessage = dbParam[Common.PARAM_OUTPUT].Value.ToString(); if (ds != null) { //Add promotion Master List <PromotionCondition> conditions = new List <PromotionCondition>(); //Add list of condition to the promotion object for (int i = 0; i < ds.Tables[1].Rows.Count; i++) { PromotionCondition condition = new PromotionCondition( Convert.ToInt32(ds.Tables[1].Rows[i]["PromotionId"]), Convert.ToInt32(ds.Tables[1].Rows[i]["ConditionId"]), Convert.ToInt32(ds.Tables[1].Rows[i]["ConditionTypeId"]), Convert.ToString(ds.Tables[1].Rows[i]["ConditionType"]), Convert.ToInt32(ds.Tables[1].Rows[i]["ConditionOnId"]), Convert.ToString(ds.Tables[1].Rows[i]["ConditionOn"]), Convert.ToInt32(ds.Tables[1].Rows[i]["ConditionCodeId"]), Validators.CheckForDBNull(ds.Tables[1].Rows[i]["ConditionCode"], string.Empty), Convert.ToInt32(ds.Tables[1].Rows[i]["MinBuyQty"]), Convert.ToInt32(ds.Tables[1].Rows[i]["MaxBuyQty"]), Validators.CheckForDBNull(ds.Tables[1].Rows[i]["Qty"], (decimal)0), Convert.ToInt32(ds.Tables[1].Rows[i]["DiscountTypeId"]), Validators.CheckForDBNull(Convert.ToString(ds.Tables[1].Rows[i]["DiscountType"]), String.Empty), Convert.ToDecimal(ds.Tables[1].Rows[i]["DiscountValue"]), Convert.ToInt32(ds.Tables[1].Rows[i]["StatusId"]), Convert.ToString(ds.Tables[1].Rows[i]["Status"]) ); DataRow[] drTiers = ds.Tables[2].Select("ConditionId = " + Convert.ToString(ds.Tables[1].Rows[i]["ConditionId"])); //Add list of tiers to the condition List <PromotionTier> tiers = new List <PromotionTier>(); PromotionTier tier; for (int j = 0; j < drTiers.Length; j++) { tier = new PromotionTier( Convert.ToInt32(drTiers[j]["PromotionId"]), Convert.ToInt32(drTiers[j]["TierId"]), Convert.ToInt32(drTiers[j]["ConditionId"]), Common.INT_DBNULL, Validators.CheckForDBNull(drTiers[j]["ConditionOnId"], Common.INT_DBNULL), Validators.CheckForDBNull(drTiers[j]["ConditionOn"], String.Empty), Validators.CheckForDBNull(drTiers[j]["ConditionCodeId"], Common.INT_DBNULL), Validators.CheckForDBNull(drTiers[j]["ConditionCode"], string.Empty), Convert.ToInt32(drTiers[j]["BuyQtyFrom"]), Convert.ToInt32(drTiers[j]["BuyQtyTo"]), Convert.ToInt32(drTiers[j]["Qty"]), Convert.ToInt32(drTiers[j]["DiscountTypeId"]), Convert.ToString(drTiers[j]["DiscountTypeVal"]), //Convert.ToInt32(drTiers[j]["DiscountValue"]), Convert.ToDecimal(drTiers[j]["DiscountValue"]), Convert.ToInt32(drTiers[j]["StatusId"]), Convert.ToString(drTiers[j]["Status"])); condition.Tiers.Add(tier); } conditions.Add(condition); } List <PromotionLocation> locations = new List <PromotionLocation>(); for (int i = 0; i < ds.Tables[3].Rows.Count; i++) { PromotionLocation location = new PromotionLocation( Convert.ToInt32(ds.Tables[3].Rows[i]["LocationId"]), Convert.ToInt32(ds.Tables[3].Rows[i]["PromotionId"]), Convert.ToString(ds.Tables[3].Rows[i]["LocationVal"]), Convert.ToString(ds.Tables[3].Rows[i]["LocationCode"]), Convert.ToString(ds.Tables[3].Rows[i]["LocationType"]), Convert.ToInt32(ds.Tables[3].Rows[i]["LineNumber"]), Convert.ToInt32(ds.Tables[3].Rows[i]["StatusId"]), Convert.ToString(ds.Tables[3].Rows[i]["Status"])); locations.Add(location); } promotion = new Promotion( Convert.ToInt32(ds.Tables[0].Rows[0]["PromotionId"]), Convert.ToString(ds.Tables[0].Rows[0]["PromotionName"]), Convert.ToInt32(ds.Tables[0].Rows[0]["PromotionCategoryId"]), Convert.ToString(ds.Tables[0].Rows[0]["PromotionCategory"]), Convert.ToString(ds.Tables[0].Rows[0]["PromotionCode"]), Convert.ToDateTime(ds.Tables[0].Rows[0]["StartDate"]), Convert.ToDateTime(ds.Tables[0].Rows[0]["EndDate"]), //check for null Convert.ToDateTime(ds.Tables[0].Rows[0]["DurationStart"]), //check for null Convert.ToDateTime(ds.Tables[0].Rows[0]["DurationEnd"]), //check for null Convert.ToInt32(ds.Tables[0].Rows[0]["DiscountTypeId"]), //check for null Validators.CheckForDBNull(ds.Tables[0].Rows[0]["DiscountType"], String.Empty), //check for null Convert.ToDecimal(ds.Tables[0].Rows[0]["DiscountValue"]), //check for null Convert.ToDecimal(ds.Tables[0].Rows[0]["MaxOrderQty"]), Convert.ToInt32(ds.Tables[0].Rows[0]["StatusId"]), Convert.ToString(ds.Tables[0].Rows[0]["Status"]), Convert.ToInt32(ds.Tables[0].Rows[0]["CreatedBy"]), Convert.ToInt32(ds.Tables[0].Rows[0]["ModifiedBy"]), Convert.ToDateTime(ds.Tables[0].Rows[0]["CreatedDate"]), Convert.ToDateTime(ds.Tables[0].Rows[0]["ModifiedDate"]), //check for null Validators.CheckForDBNull(ds.Tables[0].Rows[0]["ApplicabilityId"], Common.INT_DBNULL), //check for null Validators.CheckForDBNull(ds.Tables[0].Rows[0]["Applicability"], string.Empty), //check for null Validators.CheckForDBNull(ds.Tables[0].Rows[0]["BuyConditionTypeId"], Common.INT_DBNULL), //check for null Validators.CheckForDBNull(ds.Tables[0].Rows[0]["BuyConditionType"], string.Empty), Validators.CheckForDBNull(ds.Tables[0].Rows[0]["GetConditionTypeId"], Common.INT_DBNULL), Validators.CheckForDBNull(ds.Tables[0].Rows[0]["GetConditionType"], string.Empty), Convert.ToInt32(ds.Tables[0].Rows[0]["RepeatFactor"]), conditions, locations, null, #region Shopping Cart Convert.ToBoolean(ds.Tables[0].Rows[0]["POS"]), Convert.ToBoolean(ds.Tables[0].Rows[0]["Web"]), Convert.ToString(ds.Tables[0].Rows[0]["WebImage"]) #endregion ); } } return(promotion); }