using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

using FourLayer.ApplicationLogic;
using FourLayer.BusinessEntity;

public partial class ExtenderTesterNoAtlas : System.Web.UI.Page
{
   /// <summary>
   /// Obsługuje zdarzenia związane z wybieraniem przez użytkownika książek w kontrolce GridView
   /// </summary>
   protected void grdBookList_Selected(object sender, EventArgs e)
   {
      string isbn = (string)grdBookList.SelectedDataKey.Value;

      BookCatalogLogic logic = new BookCatalogLogic();
      Book book = logic.GetBookByIsbn(isbn);
      if (book != null) DisplayBook(book);
   }

   /// <summary>
   /// Obsługa zdarzenia związanego z kliknięciem przycisku szukania
   /// </summary>
   protected void btnSearch_Click(object sender, EventArgs e)
   {
      // spróbuj odczytać książkę na podstawie wprowadzanego tekstu
      BookCatalogLogic logic = new BookCatalogLogic();
      EntityCollection<Book> books = logic.GetBooksByTitle(txtSearch.Text);
      // jeśli książka została odnaleziona, wyświetl ją w panelu
      if (books == null || books.Count <= 0)
         labNotFound.Text = "Książki nie odnaleziono";
      else
         DisplayBook(books[0]);
   }

   /// <summary>
   /// Wyświetla informacje o książce w panelu
   /// </summary>
   private void DisplayBook(Book book)
   {
      labNotFound.Text = "";
      labBookTitle.Text = book.Title;
      labBookAuthors.Text = book.AuthorsCommaList;
      labBookPublisher.Text = book.BookPublisher.Name;
      labBookDesc.Text = book.BriefDescription;
   }
}
