public static void AddRowValuesFromConditions(IList<ProductCondition> conditions, RowValues rowValues) { var conditionHeaderPrefix = StringTable.ProductCondition1.Remove(StringTable.ProductCondition1.Length - 1); var valueHeaderPrefix = StringTable.ProductValue1.Remove(StringTable.ProductValue1.Length - 1); for (var i = 1; i <= conditions.Count; i++) { rowValues[conditionHeaderPrefix + i] = conditions[i - 1].Operand; rowValues[valueHeaderPrefix + i] = conditions[i - 1].Attribute; } }
public static void AddRowValuesFromConditions(IList<WebpageCondition> conditions, RowValues rowValues) { var conditionHeaderPrefix = StringTable.DynamicAdTargetCondition1.Remove(StringTable.DynamicAdTargetCondition1.Length - 1); var valueHeaderPrefix = StringTable.DynamicAdTargetValue1.Remove(StringTable.DynamicAdTargetValue1.Length - 1); for (var i = 1; i <= conditions.Count; i++) { rowValues[conditionHeaderPrefix + i] = conditions[i - 1].Operand.ToString(); rowValues[valueHeaderPrefix + i] = conditions[i - 1].Argument; } }
public static void AddConditionsFromRowValues(RowValues values, IList<WebpageCondition> conditions) { var conditionHeaderPrefix = StringTable.DynamicAdTargetCondition1.Remove(StringTable.DynamicAdTargetCondition1.Length - 1); var valueHeaderPrefix = StringTable.DynamicAdTargetValue1.Remove(StringTable.DynamicAdTargetValue1.Length - 1); for (int i = 1; i <= MaxNumberOfConditions; i++) { string webpagetCondition; string webpageValue; values.TryGetValue(conditionHeaderPrefix + i, out webpagetCondition); values.TryGetValue(valueHeaderPrefix + i, out webpageValue); if (!string.IsNullOrEmpty(webpagetCondition) || !string.IsNullOrEmpty(webpageValue)) { conditions.Add(new WebpageCondition { Operand = webpagetCondition.Parse<WebpageConditionOperand>(), Argument = webpageValue }); } } }
public static void AddConditionsFromRowValues(RowValues values, IList<ProductCondition> conditions) { var conditionHeaderPrefix = StringTable.ProductCondition1.Remove(StringTable.ProductCondition1.Length - 1); var valueHeaderPrefix = StringTable.ProductValue1.Remove(StringTable.ProductValue1.Length - 1); for (int i = 1; i <= MaxNumberOfConditions; i++) { string productCondition; string productValue; values.TryGetValue(conditionHeaderPrefix + i, out productCondition); values.TryGetValue(valueHeaderPrefix + i, out productValue); if (!string.IsNullOrEmpty(productCondition) || !string.IsNullOrEmpty(productValue)) { conditions.Add(new ProductCondition { Operand = productCondition, Attribute = productValue }); } } }
internal override void ProcessMappingsToRowValues(RowValues values) { base.ProcessMappingsToRowValues(values); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(Experiment, "Experiment"); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { base.ProcessMappingsToRowValues(values, excludeReadonlyData); this.ConvertToValues(values, Mappings); }
internal override void WriteToRowValues(RowValues values, bool excludeReadonlyData) { this.ConvertToValues(values, Mappings); }
public static void AddPriceTableRowsFromRowValues(RowValues values, IList <PriceTableRow> priceTableRows) { var currencyCodePrefix = StringTable.CurrencyCode1.Remove(StringTable.CurrencyCode1.Length - 1); var priceDescriptionPrefix = StringTable.PriceDescription1.Remove(StringTable.PriceDescription1.Length - 1); var headerPrefix = StringTable.Header1.Remove(StringTable.Header1.Length - 1); var finalMobileUrlPrefix = StringTable.FinalMobileUrl1.Remove(StringTable.FinalMobileUrl1.Length - 1); var finalUrlPrefix = StringTable.FinalUrl1.Remove(StringTable.FinalUrl1.Length - 1); var pricePrefix = StringTable.Price1.Remove(StringTable.Price1.Length - 1); var priceQualifierPrefix = StringTable.PriceQualifier1.Remove(StringTable.PriceQualifier1.Length - 1); var priceUnitPrefix = StringTable.PriceUnit1.Remove(StringTable.PriceUnit1.Length - 1); var termsAndConditionsPrefix = StringTable.TermsAndConditions1.Remove(StringTable.TermsAndConditions1.Length - 1); var termsAndConditionsUrlPrefix = StringTable.TermsAndConditionsUrl1.Remove(StringTable.TermsAndConditionsUrl1.Length - 1); for (int i = 1; i <= MaxNumberOfProductTableRows; i++) { string currencyCode; string priceDescription; string header; string finalMobileUrl; string finalUrl; string price; string priceQualifier; string priceUnit; string termsAndConditions; string termsAndConditionsUrl; values.TryGetValue(currencyCodePrefix + i, out currencyCode); values.TryGetValue(priceDescriptionPrefix + i, out priceDescription); values.TryGetValue(headerPrefix + i, out header); values.TryGetValue(finalMobileUrlPrefix + i, out finalMobileUrl); values.TryGetValue(finalUrlPrefix + i, out finalUrl); values.TryGetValue(pricePrefix + i, out price); values.TryGetValue(priceQualifierPrefix + i, out priceQualifier); values.TryGetValue(priceUnitPrefix + i, out priceUnit); values.TryGetValue(termsAndConditionsPrefix + i, out termsAndConditions); values.TryGetValue(termsAndConditionsUrlPrefix + i, out termsAndConditionsUrl); if (!string.IsNullOrEmpty(currencyCode) || !string.IsNullOrEmpty(priceDescription) || !string.IsNullOrEmpty(header) || !string.IsNullOrEmpty(finalMobileUrl) || !string.IsNullOrEmpty(finalUrl) || !string.IsNullOrEmpty(price) || !string.IsNullOrEmpty(priceQualifier) || !string.IsNullOrEmpty(priceUnit) || !string.IsNullOrEmpty(termsAndConditions) || !string.IsNullOrEmpty(termsAndConditionsUrl)) { priceTableRows.Add( new PriceTableRow { CurrencyCode = currencyCode, Description = priceDescription, Header = header, FinalMobileUrls = new string[] { finalMobileUrl }, FinalUrls = new string[] { finalUrl }, Price = price.Parse <double>(), PriceQualifier = priceQualifier.Parse <PriceQualifier>(), PriceUnit = priceUnit.Parse <PriceUnit>(), TermsAndConditions = termsAndConditions, TermsAndConditionsUrl = termsAndConditionsUrl } ); } } }
/// <summary> /// Process specific entity mappings to CSV values. Must be implemented by each entity /// </summary> /// <param name="values">Row values</param> /// <param name="excludeReadonlyData"></param> internal abstract void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData);
internal override void ProcessMappingsFromRowValues(RowValues values) { Identifier.ReadFromRowValues(values); }
public void ConvertToEntity(RowValues values, T entity) { CsvToField(values[CsvHeader(entity)], entity); }
public void ConvertToCsv(T entity, RowValues values) { values[CsvHeader(entity)] = FieldToCsv(entity); }
public static void AddRowValuesFromConditions(IList <WebpageCondition> conditions, RowValues rowValues) { var conditionHeaderPrefix = StringTable.DynamicAdTargetCondition1.Remove(StringTable.DynamicAdTargetCondition1.Length - 1); var valueHeaderPrefix = StringTable.DynamicAdTargetValue1.Remove(StringTable.DynamicAdTargetValue1.Length - 1); for (var i = 1; i <= conditions.Count; i++) { rowValues[conditionHeaderPrefix + i] = conditions[i - 1].Operand.ToString(); rowValues[valueHeaderPrefix + i] = conditions[i - 1].Argument; } }
internal override void ProcessMappingsFromRowValues(RowValues values) { Identifier.ReadFromRowValues(values); values.ConvertToEntity(this, Mappings); }
internal override void ProcessMappingsFromRowValues(RowValues values) { AdExtensionIdToEntityIdAssociation = new AdExtensionIdToEntityIdAssociation(); values.ConvertToEntity(this, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(AdExtensionIdToEntityIdAssociation, "AdExtensionIdToEntityIdAssociation"); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsFromRowValues(RowValues values) { AdExtensionIdToEntityIdAssociation = new AdExtensionIdToEntityIdAssociation(); values.ConvertToEntity(this, Mappings); PerformanceData = PerformanceData.ReadFromRowValuesOrNull(values); }
public void ConvertToEntity(RowValues values, T entity) { CsvToEntity(values, entity); }
public static void AddRowValuesFromConditions(IList <ProductCondition> conditions, RowValues rowValues) { var conditionHeaderPrefix = StringTable.ProductCondition1.Remove(StringTable.ProductCondition1.Length - 1); var valueHeaderPrefix = StringTable.ProductValue1.Remove(StringTable.ProductValue1.Length - 1); for (var i = 1; i <= conditions.Count; i++) { rowValues[conditionHeaderPrefix + i] = conditions[i - 1].Operand; rowValues[valueHeaderPrefix + i] = conditions[i - 1].Attribute; } }
internal override void ProcessMappingsFromRowValues(RowValues values) { DeviceOsTargetBid = new DeviceOSTargetBid(); base.ProcessMappingsFromRowValues(values); values.ConvertToEntity(this, Mappings); }
public void ConvertToEntity(RowValues values, T entity) { _csvToField(values[_csvHeader], entity); }
internal override void ReadFromRowValues(RowValues values) { values.ConvertToEntity(this, Mappings); PerformanceData.ReadFromRowValues(values); }
internal override void ProcessMappingsToRowValues(RowValues values) { this.ConvertToValues(values, Mappings); }
public void ConvertToCsv(T entity, RowValues values) { EntityToCsv(entity, values); }
internal override void ProcessMappingsToRowValues(RowValues values) { ValidatePropertyNotNull(Campaign, "Campaign"); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsFromRowValues(RowValues values) { base.ProcessMappingsFromRowValues(values); values.ConvertToEntity(this, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values) { this.ConvertToValues(values, Mappings); PerformanceData = PerformanceData.ReadFromRowValuesOrNull(values); }
internal override void ProcessMappingsFromRowValues(RowValues values) { Experiment = new Experiment(); values.ConvertToEntity(this, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(BiddableCampaignCriterion, typeof(BiddableCampaignCriterion).Name); this.ConvertToValues(values, Mappings); }
internal override void WriteToRowValues(RowValues values, bool excludeReadonlyData) { this.ConvertToValues(values, Mappings); PerformanceData.WriteToRowValuesIfNotNull(PerformanceData, values); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(AdExtensionIdToEntityIdAssociation, "AdExtensionIdToEntityIdAssociation"); this.ConvertToValues(values, Mappings); if (!excludeReadonlyData) { PerformanceData.WriteToRowValuesIfNotNull(PerformanceData, values); } }
internal override void ProcessMappingsFromRowValues(RowValues values) { values.ConvertToEntity(this, Mappings); PerformanceData = PerformanceData.ReadFromRowValuesOrNull(values); }
private static void CsvToBiddingScheme(RowValues values, BulkCampaign c) { string bidStrategyTypeRowValue; BiddingScheme biddingScheme; if (!values.TryGetValue(StringTable.BidStrategyType, out bidStrategyTypeRowValue) || (biddingScheme = bidStrategyTypeRowValue.ParseBiddingScheme()) == null) { return; } string maxCpcRowValue; string targetCpaRowValue; string targetRoasRowValue; string targetAdPositionRowValue; string targetImpressionShareRowValue; values.TryGetValue(StringTable.BidStrategyMaxCpc, out maxCpcRowValue); values.TryGetValue(StringTable.BidStrategyTargetCpa, out targetCpaRowValue); values.TryGetValue(StringTable.BidStrategyTargetRoas, out targetRoasRowValue); values.TryGetValue(StringTable.BidStrategyTargetAdPosition, out targetAdPositionRowValue); values.TryGetValue(StringTable.BidStrategyTargetImpressionShare, out targetImpressionShareRowValue); var maxCpcValue = maxCpcRowValue.ParseBid(); var targetCpaValue = targetCpaRowValue.ParseOptional <double>(); var targetRoasValue = targetRoasRowValue.ParseOptional <double>(); var targetAdPositionValue = targetAdPositionRowValue; var targetImpressionShareValue = targetImpressionShareRowValue.ParseOptional <double>(); switch (biddingScheme) { case MaxClicksBiddingScheme maxClicksBiddingScheme: c.Campaign.BiddingScheme = new MaxClicksBiddingScheme { MaxCpc = maxCpcValue, Type = "MaxClicks", }; break; case MaxConversionsBiddingScheme maxConversionsBiddingScheme: c.Campaign.BiddingScheme = new MaxConversionsBiddingScheme { MaxCpc = maxCpcValue, Type = "MaxConversions", }; break; case MaxConversionValueBiddingScheme maxConversionValueBiddingScheme: c.Campaign.BiddingScheme = new MaxConversionValueBiddingScheme { TargetRoas = targetRoasValue, Type = "MaxConversionValue", }; break; case TargetCpaBiddingScheme targetCpaBiddingScheme: c.Campaign.BiddingScheme = new TargetCpaBiddingScheme { MaxCpc = maxCpcValue, TargetCpa = targetCpaValue, Type = "TargetCpa", }; break; case TargetRoasBiddingScheme targetRoasBiddingScheme: c.Campaign.BiddingScheme = new TargetRoasBiddingScheme { MaxCpc = maxCpcValue, TargetRoas = targetRoasValue, Type = "TargetRoas", }; break; case TargetImpressionShareBiddingScheme targetImpressionShareBiddingScheme: c.Campaign.BiddingScheme = new TargetImpressionShareBiddingScheme { MaxCpc = maxCpcValue, TargetAdPosition = targetAdPositionValue, TargetImpressionShare = targetImpressionShareValue, Type = "TargetImpressionShare", }; break; default: c.Campaign.BiddingScheme = biddingScheme; break; } }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(OfflineConversion, "OfflineConversion"); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsFromRowValues(RowValues values) { RadiusTargetBid = new RadiusTargetBid2(); base.ProcessMappingsFromRowValues(values); values.ConvertToEntity(this, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(NegativeAdGroupCriterion, typeof(NegativeAdGroupCriterion).Name); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { Identifier.WriteToRowValues(values, excludeReadonlyData); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(SimilarRemarketingList, typeof(SimilarRemarketingList).Name); this.ConvertToValues(values, Mappings); }
internal override void ProcessMappingsToRowValues(RowValues values, bool excludeReadonlyData) { ValidatePropertyNotNull(DeviceOsTargetBid, "DeviceOsTargetBid"); base.ProcessMappingsToRowValues(values, excludeReadonlyData); this.ConvertToValues(values, Mappings); }
/// <summary> /// Process specific entity mappings from CSV values. Must be implemented by each entity /// </summary> /// <param name="values">Row values</param> internal abstract void ProcessMappingsFromRowValues(RowValues values);
internal override void ReadFromRowValues(RowValues values) { values.ConvertToEntity(this, Mappings); }
public static void AddRowValuesFromPriceTableRows(IList <PriceTableRow> priceTableRows, RowValues rowValues) { var currencyCodePrefix = StringTable.CurrencyCode1.Remove(StringTable.CurrencyCode1.Length - 1); var priceDescriptionPrefix = StringTable.PriceDescription1.Remove(StringTable.PriceDescription1.Length - 1); var headerPrefix = StringTable.Header1.Remove(StringTable.Header1.Length - 1); var finalMobileUrlPrefix = StringTable.FinalMobileUrl1.Remove(StringTable.FinalMobileUrl1.Length - 1); var finalUrlPrefix = StringTable.FinalUrl1.Remove(StringTable.FinalUrl1.Length - 1); var pricePrefix = StringTable.Price1.Remove(StringTable.Price1.Length - 1); var priceQualifierPrefix = StringTable.PriceQualifier1.Remove(StringTable.PriceQualifier1.Length - 1); var priceUnitPrefix = StringTable.PriceUnit1.Remove(StringTable.PriceUnit1.Length - 1); var termsAndConditionsPrefix = StringTable.TermsAndConditions1.Remove(StringTable.TermsAndConditions1.Length - 1); var termsAndConditionsUrlPrefix = StringTable.TermsAndConditionsUrl1.Remove(StringTable.TermsAndConditionsUrl1.Length - 1); for (var i = 1; i <= priceTableRows.Count; i++) { rowValues[currencyCodePrefix + i] = priceTableRows[i - 1].CurrencyCode; rowValues[priceDescriptionPrefix + i] = priceTableRows[i - 1].Description; rowValues[headerPrefix + i] = priceTableRows[i - 1].Header; if (priceTableRows[i - 1].FinalMobileUrls != null && priceTableRows[i - 1].FinalMobileUrls.Count > 0) { rowValues[finalMobileUrlPrefix + i] = priceTableRows[i - 1].FinalMobileUrls[0]; } if (priceTableRows[i - 1].FinalUrls != null && priceTableRows[i - 1].FinalUrls.Count > 0) { rowValues[finalUrlPrefix + i] = priceTableRows[i - 1].FinalUrls[0]; } rowValues[pricePrefix + i] = priceTableRows[i - 1].Price.ToBulkString(); rowValues[priceQualifierPrefix + i] = priceTableRows[i - 1].PriceQualifier.ToBulkString(); rowValues[priceUnitPrefix + i] = priceTableRows[i - 1].PriceUnit.ToBulkString(); rowValues[termsAndConditionsPrefix + i] = priceTableRows[i - 1].TermsAndConditions; rowValues[termsAndConditionsUrlPrefix + i] = priceTableRows[i - 1].TermsAndConditionsUrl; } }
internal override void ProcessMappingsFromRowValues(RowValues rowValues) { Values = rowValues.ToDictionary(); }