public void UpdateLocation(PromotionLocation location, int locationId, int promotionId, string locationVal, string locationCode, string locationType, int lineNumber, int statusId, string statusVal) { location.LocationId = locationId; location.PromotionId = promotionId; location.LocationVal = locationVal; location.LocationCode = locationCode; location.LocationType = locationType; location.m_LineNo = lineNumber; location.StatusId = statusId; location.StatusVal = statusVal; }
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); }