/// <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); }
/// <summary>Flattens the day part.</summary> /// <param name="dayPart">The day part.</param> /// <returns></returns> public DayPartFlattenModel FlattenDayPart(DayPart dayPart) { var dayPartFlattenModel = new DayPartFlattenModel(); if (dayPart is null) { return(dayPartFlattenModel); } dayPartFlattenModel.DaypartTimeAndDays = FlattenTimeSlices(dayPart.Timeslices); dayPartFlattenModel.DaypartTargetRatings = dayPart.DesiredPercentageSplit; dayPartFlattenModel.DaypartActualRatings = dayPart.CurrentPercentageSplit; dayPartFlattenModel.DaypartTargetActualDiff = dayPartFlattenModel.DaypartActualRatings - dayPartFlattenModel.DaypartTargetRatings; dayPartFlattenModel.DaypartTargetAchievedPct = GetDaypartTargetAchievedPct(); return(dayPartFlattenModel); decimal GetDaypartTargetAchievedPct() => Math.Round(dayPartFlattenModel.DaypartTargetRatings == 0 ? 0 : dayPartFlattenModel.DaypartActualRatings / dayPartFlattenModel.DaypartTargetRatings * 100, 2, MidpointRounding.AwayFromZero); }