protected override string Serialize()
        {
            var result = new StringBuilder();

            result.AppendLine(base.Serialize());
            result.AppendLine(@"<AddAsPageOne>" + AddAsPageOne + @"</AddAsPageOne>");
            result.AppendLine(@"<UseGenericCover>" + UseGenericCover + @"</UseGenericCover>");
            result.AppendLine(@"<ShowPresentationDate>" + ShowPresentationDate + @"</ShowPresentationDate>");
            result.AppendLine(@"<SlideHeader>" + SlideHeader.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</SlideHeader>");
            result.AppendLine(@"<Advertiser>" + Advertiser.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</Advertiser>");
            result.AppendLine(@"<DecisionMaker>" + DecisionMaker.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</DecisionMaker>");
            result.AppendLine(@"<PresentationDate>" + PresentationDate + @"</PresentationDate>");
            result.AppendLine(@"<Quote>" + Quote.Serialize() + @"</Quote>");

            return(result.ToString());
        }
        protected override string Serialize()
        {
            var result = new StringBuilder();

            result.AppendLine(base.Serialize());
            result.AppendLine(@"<ShowAdvertiser>" + ShowAdvertiser + @"</ShowAdvertiser>");
            result.AppendLine(@"<ShowDecisionMaker>" + ShowDecisionMaker + @"</ShowDecisionMaker>");
            result.AppendLine(@"<ShowPresentationDate>" + ShowPresentationDate + @"</ShowPresentationDate>");
            result.AppendLine(@"<ShowFlightDates>" + ShowFlightDates + @"</ShowFlightDates>");
            result.AppendLine(@"<ShowMonthly>" + ShowMonthly + @"</ShowMonthly>");
            result.AppendLine(@"<ShowTotal>" + ShowTotal + @"</ShowTotal>");
            result.AppendLine(@"<TableOutput>" + TableOutput + @"</TableOutput>");

            result.AppendLine(@"<SlideHeader>" + SlideHeader.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</SlideHeader>");
            result.AppendLine(@"<Advertiser>" + Advertiser.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</Advertiser>");
            result.AppendLine(@"<DecisionMaker>" + DecisionMaker.Replace(@"&", "&#38;").Replace("\"", "&quot;") + @"</DecisionMaker>");
            result.AppendLine(@"<PresentationDate>" + PresentationDate + @"</PresentationDate>");
            result.AppendLine(@"<FlightDatesStart>" + FlightDatesStart + @"</FlightDatesStart>");
            result.AppendLine(@"<FlightDatesEnd>" + FlightDatesEnd + @"</FlightDatesEnd>");
            if (MonthlyValue.HasValue)
            {
                result.AppendLine(@"<MonthlyValue>" + MonthlyValue + @"</MonthlyValue>");
            }
            if (TotalValue.HasValue)
            {
                result.AppendLine(@"<TotalValue>" + TotalValue + @"</TotalValue>");
            }

            result.AppendLine(@"<Items>");
            foreach (SimpleSummaryItemState item in ItemsState)
            {
                result.AppendLine(@"<Item>" + item.Serialize() + @"</Item>");
            }
            result.AppendLine(@"</Items>");

            if (ContractSettings.IsConfigured)
            {
                result.AppendLine(String.Format("<ContractSettings>{0}</ContractSettings>", ContractSettings.Serialize()));
            }

            return(result.ToString());
        }