Example #1
0
        /// <summary>Flattens the sale area campaign target.</summary>
        /// <param name="salesAreaCampaignTarget">The sales area campaign target.</param>
        /// <returns></returns>
        public SalesAreaCampaignTargetFlattenModel FlattenSaleAreaCampaignTarget(
            SalesAreaCampaignTarget salesAreaCampaignTarget)
        {
            var salesAreaCampaignTargetFlattenModel = new SalesAreaCampaignTargetFlattenModel();

            if (salesAreaCampaignTarget is null)
            {
                return(salesAreaCampaignTargetFlattenModel);
            }

            salesAreaCampaignTargetFlattenModel.SalesAreaGroupName = salesAreaCampaignTarget.SalesAreaGroup?.GroupName;

            if (!(salesAreaCampaignTarget.Multiparts is null))
            {
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetRatings =
                    salesAreaCampaignTarget.Multiparts.Sum(m => m.DesiredPercentageSplit);
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupActualRatings =
                    salesAreaCampaignTarget.Multiparts.Sum(m => m.CurrentPercentageSplit);
            }

            salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetActualDiff =
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupActualRatings -
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetRatings;

            salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetAchievedPct = GetSalesAreaGroupTargetAchievedPct();
            return(salesAreaCampaignTargetFlattenModel);

            decimal GetSalesAreaGroupTargetAchievedPct() =>
            Math.Round(
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetRatings == 0
                        ? 0
                        : salesAreaCampaignTargetFlattenModel.SalesAreaGroupActualRatings /
                salesAreaCampaignTargetFlattenModel.SalesAreaGroupTargetRatings * 100, 2,
                MidpointRounding.AwayFromZero);
        }
Example #2
0
 /// <summary>Maps to campaign flatten model.</summary>
 /// <param name="baseCampaignFlattenedModel">The base campaign flattened model.</param>
 /// <param name="salesAreaCampaignTargetFlattenModel">The sales area campaign target flatten model.</param>
 /// <param name="durationFlattenModel">The duration flatten model.</param>
 /// <param name="strikeWeightFlattenModel">The strike weight flatten model.</param>
 /// <param name="dayPartFlattenModel">The day part flatten model.</param>
 /// <returns></returns>
 private CampaignFlattenedModel MapToCampaignFlattenModel(
     CampaignBaseFlattenedModel baseCampaignFlattenedModel,
     SalesAreaCampaignTargetFlattenModel salesAreaCampaignTargetFlattenModel,
     DurationFlattenModel durationFlattenModel,
     StrikeWeightFlattenModel strikeWeightFlattenModel = null,
     DayPartFlattenModel dayPartFlattenModel           = null)
 {
     return(_mapper.Map <CampaignFlattenedModel>(
                Tuple.Create(
                    baseCampaignFlattenedModel,
                    salesAreaCampaignTargetFlattenModel,
                    durationFlattenModel,
                    strikeWeightFlattenModel,
                    dayPartFlattenModel)));
 }
Example #3
0
        private CampaignFlattenedModel MapToCreateCampaignFlattenedModel(
            CampaignBaseFlattenedModel baseCampaignFlattenedModel,
            SalesAreaCampaignTargetFlattenModel salesAreaCampaignTargetFlattenModel,
            DurationFlattenModel durationFlattenModel,
            IMapper mapper,
            StrikeWeightFlattenModel strikeWeightFlattenModel = null,
            DayPartFlattenModel dayPartFlattenModel           = null)
        {
            var campaignFlattenedModel = mapper.Map <CampaignFlattenedModel>(baseCampaignFlattenedModel);

            campaignFlattenedModel = mapper.Map(salesAreaCampaignTargetFlattenModel, campaignFlattenedModel);
            campaignFlattenedModel = mapper.Map(durationFlattenModel, campaignFlattenedModel);
            if (strikeWeightFlattenModel != null)
            {
                campaignFlattenedModel = mapper.Map(strikeWeightFlattenModel, campaignFlattenedModel);
                if (dayPartFlattenModel != null)
                {
                    campaignFlattenedModel = mapper.Map(dayPartFlattenModel, campaignFlattenedModel);
                }
            }
            return(campaignFlattenedModel);
        }