/// <summary> /// We get offer related conditions and data related to it. /// </summary> private void GetOfferRelatedData() { string tempStr = ""; int unitType; QuantityUnit = new List <int>(); QuantityName = new List <string>(); QuantityValue = new List <string>(); DataTable result1; #region Product Condition related data var productConditionDetails = m_Offer.GetRegularProductConditionsByOfferId(OfferID).Result; if (productConditionDetails.Count == 1 && (double)productConditionDetails.FirstOrDefault().QtyValue != 0.1 && (double)productConditionDetails.FirstOrDefault().QtyValue != 0.01 && (productConditionDetails.FirstOrDefault().QtyUnitType != 4 || (productConditionDetails.FirstOrDefault().QtyUnitType != 1 ? productConditionDetails.FirstOrDefault().QtyUnitType != 1 : true))) { if (((double)productConditionDetails.FirstOrDefault().QtyValue >= 2 && (double)productConditionDetails.FirstOrDefault().QtyUnitType == 1) || (double)productConditionDetails.FirstOrDefault().QtyUnitType > 1) { unitType = productConditionDetails.FirstOrDefault().QtyUnitType; QuantityUnit.Add(unitType); //Get QuantityName m_Commondata.QueryStr = "select PhraseID from CPE_UnitTypes where UnitTypeID = " + unitType; result1 = m_Commondata.LRT_Select(); if (result1.Rows.Count > 0) { QuantityName.Add(PhraseLib.Lookup((int)result1.Rows[0][0], CurrentUser.AdminUser.LanguageID)); } //Get QuantityValue(s) if (productConditionDetails.FirstOrDefault().RegularProductConditionTiers.Count > 0) { foreach (var row in productConditionDetails.FirstOrDefault().RegularProductConditionTiers) { tempStr += row.TierLevel + "," + row.Quantity + ";"; } for (var i = productConditionDetails.FirstOrDefault().RegularProductConditionTiers.Count; i < objOffer.NumbersOfTier; i++) { tempStr += (i + 1) + ",0;"; } QuantityValue.Add(tempStr); } } } #endregion #region Points Condition related data tempStr = ""; int PhraseID = 0; //Get Points Condition related data. if (objOffer.PointsProgramConditions != null) { if (objOffer.PointsProgramConditions.Count == 1) { var pointsConditionDetails = m_Offer.GetRegularPointConditionsByOfferId(OfferID).Result; unitType = (int)CPEUnitTypes.Points; //Get QuantityName m_Commondata.QueryStr = "select PhraseID from CPE_UnitTypes where UnitTypeID = " + unitType; result1 = m_Commondata.LRT_Select(); if (result1.Rows.Count > 0) { PhraseID = (int)result1.Rows[0][0]; } //Get QuantityValue(s) if (pointsConditionDetails.FirstOrDefault().RegularPointConditionTiers.Count > 0) { foreach (var row in pointsConditionDetails.FirstOrDefault().RegularPointConditionTiers) { if (row.Quantity.ToString() != "1") { tempStr += row.TierLevel.ToString() + "," + row.Quantity.ToString() + ";"; } } for (var i = pointsConditionDetails.FirstOrDefault().RegularPointConditionTiers.Count; i < objOffer.NumbersOfTier; i++) { tempStr += (i + 1) + ",0;"; } if (tempStr != "") { QuantityValue.Add(tempStr); QuantityUnit.Add(unitType); QuantityName.Add(PhraseLib.Lookup(PhraseID, CurrentUser.AdminUser.LanguageID)); } } } } #endregion #region Proximity Message related data AMSResult <List <ProximityMessage> > tempPM = m_ProximityMessageRewardService.GetProximityMessageReward(OfferID, 9); if (tempPM.ResultType == AMSResultType.Success) { PMCount = tempPM.Result.Count; if (PMCount == 1) { PreviousThresholdTypeId = tempPM.Result.FirstOrDefault().ThresholdTypeId; if (PreviousThresholdTypeId == (int)CPEUnitTypes.Points && QuantityUnit.Count() == 2) { ThresholdTypeId = QuantityUnit[0]; } else { ThresholdTypeId = (int)CPEUnitTypes.Points; } } else if (PMCount == 0) { ThresholdTypeId = QuantityUnit[0]; } } else { ThresholdTypeId = QuantityUnit[0]; } #endregion }