public virtual void WriteTo(XElement xE) { XElement xItem = null; if (AdGroupId != null) { xItem = new XElement(XName.Get("adGroupId", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(AdGroupId.Value.ToString()); xE.Add(xItem); } if (Ad != null) { xItem = new XElement(XName.Get("ad", "https://adwords.google.com/api/adwords/cm/v201609")); Ad.WriteTo(xItem); xE.Add(xItem); } if (Status != null) { xItem = new XElement(XName.Get("status", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(Status.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 (Trademarks != null) { foreach (var trademarksItem in Trademarks) { xItem = new XElement(XName.Get("trademarks", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(trademarksItem); 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 (TrademarkDisapproved != null) { xItem = new XElement(XName.Get("trademarkDisapproved", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(TrademarkDisapproved.Value.ToString()); xE.Add(xItem); } if (Labels != null) { foreach (var labelsItem in Labels) { xItem = new XElement(XName.Get("labels", "https://adwords.google.com/api/adwords/cm/v201609")); labelsItem.WriteTo(xItem); xE.Add(xItem); } } if (BaseCampaignId != null) { xItem = new XElement(XName.Get("baseCampaignId", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(BaseCampaignId.Value.ToString()); xE.Add(xItem); } if (BaseAdGroupId != null) { xItem = new XElement(XName.Get("baseAdGroupId", "https://adwords.google.com/api/adwords/cm/v201609")); xItem.Add(BaseAdGroupId.Value.ToString()); xE.Add(xItem); } if (ForwardCompatibilityMap != null) { foreach (var forwardCompatibilityMapItem in ForwardCompatibilityMap) { xItem = new XElement(XName.Get("forwardCompatibilityMap", "https://adwords.google.com/api/adwords/cm/v201609")); forwardCompatibilityMapItem.WriteTo(xItem); xE.Add(xItem); } } }
public virtual void ReadFrom(XElement xE) { AdGroupId = null; Ad = null; Status = null; ApprovalStatus = null; Trademarks = null; DisapprovalReasons = null; TrademarkDisapproved = null; Labels = null; BaseCampaignId = null; BaseAdGroupId = null; ForwardCompatibilityMap = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "adGroupId") { AdGroupId = long.Parse(xItem.Value); } else if (localName == "ad") { Ad = InstanceCreator.CreateAd(xItem); Ad.ReadFrom(xItem); } else if (localName == "status") { Status = AdGroupAdStatusExtensions.Parse(xItem.Value); } else if (localName == "approvalStatus") { ApprovalStatus = AdGroupAdApprovalStatusExtensions.Parse(xItem.Value); } else if (localName == "trademarks") { if (Trademarks == null) { Trademarks = new List <string>(); } Trademarks.Add(xItem.Value); } else if (localName == "disapprovalReasons") { if (DisapprovalReasons == null) { DisapprovalReasons = new List <string>(); } DisapprovalReasons.Add(xItem.Value); } else if (localName == "trademarkDisapproved") { TrademarkDisapproved = bool.Parse(xItem.Value); } else if (localName == "labels") { if (Labels == null) { Labels = new List <Label>(); } var labelsItem = InstanceCreator.CreateLabel(xItem); labelsItem.ReadFrom(xItem); Labels.Add(labelsItem); } else if (localName == "baseCampaignId") { BaseCampaignId = long.Parse(xItem.Value); } else if (localName == "baseAdGroupId") { BaseAdGroupId = long.Parse(xItem.Value); } else if (localName == "forwardCompatibilityMap") { if (ForwardCompatibilityMap == null) { ForwardCompatibilityMap = new List <String_StringMapEntry>(); } var forwardCompatibilityMapItem = new String_StringMapEntry(); forwardCompatibilityMapItem.ReadFrom(xItem); ForwardCompatibilityMap.Add(forwardCompatibilityMapItem); } } }