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