using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Configuration;
using System.XML;
using System.Web;
using DotNetNuke;
using DotNetNuke.Services.Search;
using DotNetNuke.Common.Utilities.XmlUtils;
namespace CEL.Modules.CELLibrary
{
/// <summary>
/// The Controller class for CELLibrary
/// </summary>
/// <remarks>
/// </remarks>
/// <history>
/// </history>
/// -----------------------------------------------------------------------------
public class CELLibraryController : Entities.Modules.ISearchable, Entities.Modules.IPortable
{
#region "Public Methods"
public DataTable GetAllBorrowedBook(int ModuleID)
{
return DataProvider.Instance.GetAllBorrowedBook(ModuleID).Tables(0);
}
public DataTable getAllLibrary(string SortExp, int ModuleID)
{
return DataProvider.Instance.GetAllLibrary(SortExp, ModuleID).Tables(0);
}
public DataTable getAllNonArchivedLibrary(int ModuleID)
{
return DataProvider.Instance.GetNotArchivedLibrary(ModuleID).Tables(0);
}
public DataTable getAllArchivedLibrary(int ModuleID)
{
return DataProvider.Instance.GetArchivedLibrary(ModuleID).Tables(0);
}
public DataTable getLibraryByID(int LibraryID)
{
return DataProvider.Instance.GetLibraryByID(LibraryID).Tables(0);
}
public DataTable getLibraryByTitle(string Title, string SortExp, int ModuleID)
{
return DataProvider.Instance.GetLibraryByTitle(Title, SortExp, ModuleID).Tables(0);
}
public DataTable getLibraryByPublisher(string Publisher, string SortExp, int ModuleID)
{
return DataProvider.Instance.GetLibraryByPublisher(Publisher, SortExp, ModuleID).Tables(0);
}
public DataTable getLibraryByPublishDate(string PublishDate, string SortExp, int ModuleID)
{
return DataProvider.Instance.GetLibraryByPublishDate(PublishDate, SortExp, ModuleID).Tables(0);
}
public DataTable getLibraryByMedia(string Media, string SortExp, int ModuleID)
{
return DataProvider.Instance.GetLibraryByMedia(Media, SortExp, ModuleID).Tables(0);
}
public DataTable getLibraryByAuthor(string Author, string SortExp, int ModuleID)
{
return DataProvider.Instance.GetLibraryByAuthor(Author, SortExp, ModuleID).Tables(0);
}
public void AddBook(string Title, string ISBN, string Author, string Publisher, string PublishDate, string Owner, int ModuleID, string Media)
{
DataProvider.Instance.AddLibrary(Title, ISBN, Author, Publisher, PublishDate, Owner, ModuleID, Media);
}
public void UpdateLibrary(string Title, string ISBN, string Author, string Publisher, string PublishDate, string Owner, int LibraryID, string Media)
{
DataProvider.Instance.UpdateLibrary(Title, ISBN, Author, Publisher, PublishDate, Owner, LibraryID, Media);
}
public void DeleteLibraryByID(int LibraryID)
{
DataProvider.Instance.DeleteLibraryByID(LibraryID);
}
public void ArchiveBook(int LibraryID)
{
DataProvider.Instance.ArchiveBook(LibraryID);
}
public void UnArchiveBook(int LibraryID)
{
DataProvider.Instance.UnArchiveBook(LibraryID);
}
public DataTable GetBorrowedBookByLibraryID(int LibraryID)
{
return DataProvider.Instance.GetBorrowedBookByLibraryID(LibraryID).Tables(0);
}
public void AddLibraryBorrow(int LibraryID, int UserID, DateTime BorrowDate, DateTime DueReturnDate, DateTime ActualReturnDate)
{
DataProvider.Instance.AddLibraryBorrow(LibraryID, UserID, BorrowDate, DueReturnDate, ActualReturnDate);
}
public void RemoveBorrow(int LibraryBorrowID, int LibraryID)
{
DataProvider.Instance.RemoveBorrow(LibraryBorrowID, LibraryID);
}
public void UpdateLibraryModuleID(int ModuleID, int LibraryID)
{
DataProvider.Instance.UpdateLibraryModuleID(ModuleID, LibraryID);
}
public DataTable GetAllLibraryWithoutModuleID()
{
return DataProvider.Instance.GetAllLibraryWithoutModuleID().Tables(0);
}
#endregion
#region "Optional Interfaces"
/// -----------------------------------------------------------------------------
/// <summary>
/// GetSearchItems implements the ISearchable Interface
/// </summary>
/// <remarks>
/// </remarks>
/// <param name="ModInfo">The ModuleInfo for the module to be Indexed</param>
/// <history>
/// </history>
/// -----------------------------------------------------------------------------
public DotNetNuke.Services.Search.SearchItemInfoCollection GetSearchItems(Entities.Modules.ModuleInfo ModInfo)
{
SearchItemInfoCollection SearchItemCollection = new SearchItemInfoCollection();
//Dim colCELLibrarys As List(Of CELLibraryInfo) = GetCELLibrarys(ModInfo.ModuleID)
//Dim objCELLibrary As CELLibraryInfo
//For Each objCELLibrary In colCELLibrarys
// Dim SearchItem As SearchItemInfo = New SearchItemInfo(ModInfo.ModuleTitle, objCELLibrary.Content, objCELLibrary.CreatedByUser, objCELLibrary.CreatedDate, ModInfo.ModuleID, objCELLibrary.ItemId.ToString, objCELLibrary.Content, "ItemId=" & objCELLibrary.ItemId.ToString)
// SearchItemCollection.Add(SearchItem)
//Next
return SearchItemCollection;
}
/// -----------------------------------------------------------------------------
/// <summary>
/// ExportModule implements the IPortable ExportModule Interface
/// </summary>
/// <remarks>
/// </remarks>
/// <param name="ModuleID">The Id of the module to be exported</param>
/// <history>
/// </history>
/// -----------------------------------------------------------------------------
public string ExportModule(int ModuleID)
{
string strXML = "";
//Dim colCELLibrarys As List(Of CELLibraryInfo) = GetCELLibrarys(ModuleID)
//If colCELLibrarys.Count <> 0 Then
// strXML += "<CELLibrarys>"
// Dim objCELLibrary As CELLibraryInfo
// For Each objCELLibrary In colCELLibrarys
// strXML += "<CELLibrary>"
// strXML += "<content>" & XMLEncode(objCELLibrary.Content) & "</content>"
// strXML += "</CELLibrary>"
// Next
// strXML += "</CELLibrarys>"
//End If
return strXML;
}
/// -----------------------------------------------------------------------------
/// <summary>
/// ImportModule implements the IPortable ImportModule Interface
/// </summary>
/// <remarks>
/// </remarks>
/// <param name="ModuleID">The Id of the module to be imported</param>
/// <param name="Content">The content to be imported</param>
/// <param name="Version">The version of the module to be imported</param>
/// <param name="UserId">The Id of the user performing the import</param>
/// <history>
/// </history>
/// -----------------------------------------------------------------------------
public void ImportModule(int ModuleID, string Content, string Version, int UserId)
{
//Dim xmlCELLibrary As XmlNode
//Dim xmlCELLibrarys As XmlNode = GetContent(Content, "CELLibrarys")
//For Each xmlCELLibrary In xmlCELLibrarys.SelectNodes("CELLibrary")
// Dim objCELLibrary As New CELLibraryInfo
// objCELLibrary.ModuleId = ModuleID
// objCELLibrary.Content = xmlCELLibrary.SelectSingleNode("content").InnerText
// objCELLibrary.CreatedByUser = UserId
// AddCELLibrary(objCELLibrary)
//Next
}
#endregion
}
}