using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Collections; using iTextSharp.text; using Spring.Objects; namespace Sleis.Pdf { public class RepeaterWriter : ElementWriter { public override void Write(Document pdf, ObjectWrapper context) { LOG.Debug("Init Write"); BeforeWrite(pdf, context); //Repeater object selectionValue = null; try { selectionValue = context.GetPropertyValue(Select); } catch (Exception err) { LOG.Debug(String.Format("Error getting accessing {0} : {1}", Select, err.Message)); }//swallowed IEnumerable list = selectionValue as IEnumerable; //Write the table only if there is a content if (list != null) { IEnumerator enumerator = list.GetEnumerator(); while (enumerator.MoveNext()) { object candidateObject = enumerator.Current; LOG.DebugFormat("Validating: {0}", candidateObject); ObjectWrapper item = new ObjectWrapper(candidateObject); foreach (IElementWriter writer in SubElements) { writer.Write(pdf, item); } } //pdf.Add(table); } } public override IElement GetElement(IElement element, ObjectWrapper context) { throw new NotImplementedException(); } } }