DataProvider.cs

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using DotNetNuke;

namespace CEL.Modules.CELLibrary
{

	/// -----------------------------------------------------------------------------
	/// <summary>
	/// An abstract class for the data access layer
	/// </summary>
	/// <remarks>
	/// </remarks>
	/// <history>
	/// </history>
	/// -----------------------------------------------------------------------------
	public abstract class DataProvider
	{

		#region "Shared/Static Methods"

		// singleton reference to the instantiated object 

		private static DataProvider objProvider = null;
		// constructor
		static DataProvider()
		{
			CreateProvider();
		}

		// dynamically create provider
		private static void CreateProvider()
		{
			objProvider = (DataProvider)Framework.Reflection.CreateObject("data", "CEL.Modules.CELLibrary", "");
		}

		// return the provider
		public static new DataProvider Instance()
		{
			return objProvider;
		}

		#endregion

		#region "Abstract methods"
		public abstract DataSet GetAllBorrowedBook(int ModuleID);
		public abstract DataSet GetAllLibrary(string SortExp, int ModuleID);
		public abstract DataSet GetArchivedLibrary(int ModuleID);
		public abstract DataSet GetLibraryByID(int LibraryID);
		public abstract DataSet GetLibraryByTitle(string Title, string SortExp, int ModuleID);
		public abstract DataSet GetLibraryByPublishDate(string PublishDate, string SortExp, int ModuleID);
		public abstract DataSet GetLibraryByMedia(string Media, string SortExp, int ModuleID);
		public abstract DataSet GetLibraryByPublisher(string Publisher, string SortExp, int ModuleID);
		public abstract DataSet GetLibraryByAuthor(string Author, string SortExp, int ModuleID);
		public abstract DataSet GetNotArchivedLibrary(int ModuleID);
		//Public MustOverride Sub AddLibrary(ByVal Archive As Integer, ByVal Title As String, ByVal ISBN As String, ByVal Author As String, ByVal Publisher As String, ByVal PublishDate As String, ByVal Owner As String, ByVal OwnerID As Integer, ByVal ReferenceOnly As Integer)
		public abstract void AddLibrary(string Title, string ISBN, string Author, string Publisher, string PublishDate, string Owner, int ModuleID, string Media);
		public abstract void UpdateLibrary(string Title, string ISBN, string Author, string Publisher, string PublishDate, string Owner, int LibraryID, string Media);
		public abstract void DeleteLibraryByID(int LibraryID);
		public abstract void ArchiveBook(int LibraryID);
		public abstract void UnArchiveBook(int LibraryID);
		public abstract DataSet GetBorrowedBookByLibraryID(int LibraryID);
		public abstract void AddLibraryBorrow(int LibraryID, int UserID, DateTime BorrowDate, DateTime DueReturnDate, DateTime ActualReturnDate);
		public abstract void RemoveBorrow(int LibraryBorrowID, int LibraryID);
		public abstract void UpdateLibraryModuleID(int ModuleID, int LibraryID);
			#endregion
		public abstract DataSet GetAllLibraryWithoutModuleID();
	}
}
posted @ 2010-07-13 00:11  小生不才  阅读(430)  评论(0编辑  收藏  举报