private static void CsvToBudget(RowValues values, BulkCampaign c) { string budgetTypeRowValue; BudgetLimitType?budgetType; if (!values.TryGetValue(StringTable.BudgetType, out budgetTypeRowValue) || (budgetType = budgetTypeRowValue.ParseOptional <BudgetLimitType>()) == null) { return; } string budgetRowValue; if (!values.TryGetValue(StringTable.Budget, out budgetRowValue)) { return; } var budgetValue = budgetRowValue.ParseOptional <double>(); c.Campaign.BudgetType = budgetType; if (budgetType == BudgetLimitType.DailyBudgetAccelerated || budgetType == BudgetLimitType.DailyBudgetStandard) { c.Campaign.DailyBudget = budgetValue; } else { c.Campaign.MonthlyBudget = budgetValue; } }
private static void CsvToBiddingScheme(RowValues values, BulkAdGroup c) { string bidStrategyTypeRowValue; BiddingScheme biddingScheme; if (!values.TryGetValue(StringTable.BidStrategyType, out bidStrategyTypeRowValue) || (biddingScheme = bidStrategyTypeRowValue.ParseBiddingScheme()) == null) { return; } string inheritedBidStrategyTypeRowValue; values.TryGetValue(StringTable.InheritedBidStrategyType, out inheritedBidStrategyTypeRowValue); var inheritFromParentBiddingScheme = biddingScheme as InheritFromParentBiddingScheme; if (inheritFromParentBiddingScheme != null) { c.AdGroup.BiddingScheme = new InheritFromParentBiddingScheme { InheritedBidStrategyType = inheritedBidStrategyTypeRowValue, Type = "InheritFromParent", }; } else { c.AdGroup.BiddingScheme = biddingScheme; } }
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; values.TryGetValue(StringTable.BidStrategyMaxCpc, out maxCpcRowValue); values.TryGetValue(StringTable.BidStrategyTargetCpa, out targetCpaRowValue); var maxCpcValue = maxCpcRowValue.ParseBid(); var targetCpaValue = targetCpaRowValue.ParseOptional <double>(); var maxClicksBiddingScheme = biddingScheme as MaxClicksBiddingScheme; if (maxClicksBiddingScheme != null) { c.Campaign.BiddingScheme = new MaxClicksBiddingScheme { MaxCpc = maxCpcValue, Type = "MaxClicks", }; } else { var maxConversionsBiddingScheme = biddingScheme as MaxConversionsBiddingScheme; if (maxConversionsBiddingScheme != null) { c.Campaign.BiddingScheme = new MaxConversionsBiddingScheme { MaxCpc = maxCpcValue, Type = "MaxConversions", }; } else { var targetCpaBiddingScheme = biddingScheme as TargetCpaBiddingScheme; if (targetCpaBiddingScheme != null) { c.Campaign.BiddingScheme = new TargetCpaBiddingScheme { MaxCpc = maxCpcValue, TargetCpa = targetCpaValue, Type = "TargetCpa", }; } else { c.Campaign.BiddingScheme = biddingScheme; } } } }
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 }); } } }
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 }); } } }
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 webpageCondition; string webpageValue; values.TryGetValue(conditionHeaderPrefix + i, out webpageCondition); values.TryGetValue(valueHeaderPrefix + i, out webpageValue); if (!string.IsNullOrEmpty(webpageCondition) || !string.IsNullOrEmpty(webpageValue)) { conditions.Add(new WebpageCondition { Operand = webpageCondition.Parse <WebpageConditionOperand>(), Argument = webpageValue }); } } }
private static void CsvToCoOpSetting(RowValues values, BulkAdGroup c) { values.TryGetValue(StringTable.BidOption, out string bidOptionRowValue); values.TryGetValue(StringTable.BidBoostValue, out string bidBoostValueRowValue); values.TryGetValue(StringTable.MaximumBid, out string maximumBidRowValue); var bidOptionValue = bidOptionRowValue?.ParseOptional <BidOption>(); var bidBoostValueValue = bidBoostValueRowValue?.ParseOptional <double>(); var maximumBidValue = maximumBidRowValue?.ParseOptional <double>(); if (bidOptionValue != null || bidBoostValueValue != null || maximumBidValue != null) { var setting = new CoOpSetting { BidBoostValue = bidBoostValueValue, BidMaxValue = maximumBidValue, BidOption = bidOptionValue, Type = "CoOpSetting" }; c.AddSetting(setting); } }
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 } ); } } }
private static void CsvToBidding(RowValues values, BulkAdGroupProductPartition entity) { //string exclude; values.TryGetValue(StringTable.IsExcluded, out string exclude); exclude = exclude.GetValueOrEmptyString().ToLower(); bool isExcluded; switch (exclude) { case "yes": isExcluded = true; break; case "true": isExcluded = true; break; case "no": isExcluded = false; break; case "false": isExcluded = false; break; default: throw new InvalidOperationException( string.Format("\"{0}\" can only be set to TRUE|FALSE in {1}", StringTable.IsExcluded, typeof(BulkAdGroupProductPartition).Name)); } if (isExcluded) { entity.AdGroupCriterion = new NegativeAdGroupCriterion { Criterion = new ProductPartition { Condition = new ProductCondition(), Type = typeof(ProductPartition).Name, }, Type = typeof(NegativeAdGroupCriterion).Name, }; } else { var biddableAdGroupCriterion = new BiddableAdGroupCriterion { Criterion = new ProductPartition { Condition = new ProductCondition(), Type = typeof(ProductPartition).Name, }, Type = typeof(BiddableAdGroupCriterion).Name, }; values.TryGetValue(StringTable.Bid, out string bidStr); values.TryGetValue(StringTable.BidAdjustment, out string bidAdjustmentStr); double?bid = bidStr.ParseOptional <double>(); double?bidAdjustment = bidAdjustmentStr.ParseOptional <double>(); if (bid != null) { biddableAdGroupCriterion.CriterionBid = new FixedBid { Amount = bid.Value, Type = typeof(FixedBid).Name, }; } else if (bidAdjustment != null) { biddableAdGroupCriterion.CriterionBid = new BidMultiplier { Multiplier = bidAdjustment.Value, Type = typeof(FixedBid).Name, }; } else { biddableAdGroupCriterion.CriterionBid = new FixedBid { Type = typeof(FixedBid).Name, }; } entity.AdGroupCriterion = biddableAdGroupCriterion; } }
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; } }