public virtual void ReadFrom(XElement xE) { Id = null; Url = null; DisplayUrl = null; FinalUrls = null; FinalMobileUrls = null; FinalAppUrls = null; TrackingUrlTemplate = null; UrlCustomParameters = null; Type = null; DevicePreference = null; AdType = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "id") { Id = long.Parse(xItem.Value); } else if (localName == "url") { Url = xItem.Value; } else if (localName == "displayUrl") { DisplayUrl = xItem.Value; } else if (localName == "finalUrls") { if (FinalUrls == null) { FinalUrls = new List <string>(); } FinalUrls.Add(xItem.Value); } else if (localName == "finalMobileUrls") { if (FinalMobileUrls == null) { FinalMobileUrls = new List <string>(); } FinalMobileUrls.Add(xItem.Value); } else if (localName == "finalAppUrls") { if (FinalAppUrls == null) { FinalAppUrls = new List <AppUrl>(); } var finalAppUrlsItem = new AppUrl(); finalAppUrlsItem.ReadFrom(xItem); FinalAppUrls.Add(finalAppUrlsItem); } else if (localName == "trackingUrlTemplate") { TrackingUrlTemplate = xItem.Value; } else if (localName == "urlCustomParameters") { UrlCustomParameters = new CustomParameters(); UrlCustomParameters.ReadFrom(xItem); } else if (localName == "type") { Type = AdTypeExtensions.Parse(xItem.Value); } else if (localName == "devicePreference") { DevicePreference = long.Parse(xItem.Value); } else if (localName == "Ad.Type") { AdType = xItem.Value; } } }
public override void WriteTo(XElement xE) { base.WriteTo(xE); XmlUtility.SetXsiType(xE, "https://adwords.google.com/api/adwords/cm/v201609", "BiddableAdGroupCriterion"); XElement xItem = null; if (UserStatus != null) { xItem = new XElement(XName.Get("userStatus", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(UserStatus.Value.ToXmlValue()); xE.Add(xItem); } if (SystemServingStatus != null) { xItem = new XElement(XName.Get("systemServingStatus", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(SystemServingStatus.Value.ToXmlValue()); xE.Add(xItem); } if (ApprovalStatus != null) { xItem = new XElement(XName.Get("approvalStatus", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(ApprovalStatus.Value.ToXmlValue()); xE.Add(xItem); } if (DisapprovalReasons != null) { foreach (var disapprovalReasonsItem in DisapprovalReasons) { xItem = new XElement(XName.Get("disapprovalReasons", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(disapprovalReasonsItem); xE.Add(xItem); } } if (DestinationUrl != null) { xItem = new XElement(XName.Get("destinationUrl", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(DestinationUrl); xE.Add(xItem); } if (FirstPageCpc != null) { xItem = new XElement(XName.Get("firstPageCpc", "https://adwords.google.com/api/adwords/cm/v201609")); FirstPageCpc.WriteTo(xItem); xE.Add(xItem); } if (TopOfPageCpc != null) { xItem = new XElement(XName.Get("topOfPageCpc", "https://adwords.google.com/api/adwords/cm/v201609")); TopOfPageCpc.WriteTo(xItem); xE.Add(xItem); } if (FirstPositionCpc != null) { xItem = new XElement(XName.Get("firstPositionCpc", "https://adwords.google.com/api/adwords/cm/v201609")); FirstPositionCpc.WriteTo(xItem); xE.Add(xItem); } if (QualityInfo != null) { xItem = new XElement(XName.Get("qualityInfo", "https://adwords.google.com/api/adwords/cm/v201609")); QualityInfo.WriteTo(xItem); xE.Add(xItem); } if (BiddingStrategyConfiguration != null) { xItem = new XElement(XName.Get("biddingStrategyConfiguration", "https://adwords.google.com/api/adwords/cm/v201609")); BiddingStrategyConfiguration.WriteTo(xItem); xE.Add(xItem); } if (BidModifier != null) { xItem = new XElement(XName.Get("bidModifier", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(BidModifier.Value.ToString()); xE.Add(xItem); } if (FinalUrls != null) { xItem = new XElement(XName.Get("finalUrls", "https://adwords.google.com/api/adwords/cm/v201609")); FinalUrls.WriteTo(xItem); xE.Add(xItem); } if (FinalMobileUrls != null) { xItem = new XElement(XName.Get("finalMobileUrls", "https://adwords.google.com/api/adwords/cm/v201609")); FinalMobileUrls.WriteTo(xItem); xE.Add(xItem); } if (FinalAppUrls != null) { xItem = new XElement(XName.Get("finalAppUrls", "https://adwords.google.com/api/adwords/cm/v201609")); FinalAppUrls.WriteTo(xItem); xE.Add(xItem); } if (TrackingUrlTemplate != null) { xItem = new XElement(XName.Get("trackingUrlTemplate", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(TrackingUrlTemplate); xE.Add(xItem); } if (UrlCustomParameters != null) { xItem = new XElement(XName.Get("urlCustomParameters", "https://adwords.google.com/api/adwords/cm/v201609")); UrlCustomParameters.WriteTo(xItem); xE.Add(xItem); } }