using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CustomControls
{
   [ControlBuilderAttribute(typeof(BookCounterBuilder)),ParseChildren(false)]
   public class BookInquiryList : WebControl, INamingContainer
   {
      protected override void Render(HtmlTextWriter output)
      {
         int totalInquiries = 0;
         BookCounter current;

         // Tworzenie nagwka.
         output.Write("<Table border='1' width='90%' cellpadding='1'" +
            "cellspacing='1' align = 'center' >");
         output.Write("<TR><TD colspan = '2' align='center'>");
         output.Write("<B> Zapytania </B></TD></TR>");

         // Jeeli nie ma zawierajcych kontrolek, wtedy wywietlamy domylny komunikat.
         if (Controls.Count == 0)
         {
            output.Write("<TR><TD colspan='2' align='center'>");
            output.Write("<B> Brak ksiek. </B></TD></TR>");
         }
         // W przeciwnym przypadku generujemy kad z zawartych kontrolek.
         else
         {
            // Przechodzimy kolejno przez zbir kontrolek
            // i wywietlamy dla kadej z nich tytu ksizki.
            // Nastpnie, generujemy kad zawart kontrolk.
            for (int i = 0; i < Controls.Count; i++)
            {
               current = (BookCounter)Controls[i];
               totalInquiries += current.Count;
               output.Write("<TR><TD align='left'>" +
                  current.BookName + "</TD>");
               output.RenderBeginTag("TD");
               current.RenderControl(output);
               output.RenderEndTag();  // Koniec znacznika td.
               output.Write("</tr>");
            }
            output.Write("<TR><TD colspan='2' align='center'> " +
               " Cakowita liczba zapyta: " +
               totalInquiries + "</TD></TR>");
         }
         output.Write("</TABLE>");
      }
   }
}
