if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_GetSiteAccoutDetail]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[usp_GetSiteAccoutDetail]
GO

CREATE PROCEDURE [dbo].[usp_GetSiteAccoutDetail] 
	-- Add the parameters for the stored procedure here
	@strAccountNumber varchar(50)='', @pageNo int, @pageLength int, @recordCount int out
	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	--Get the records on the basis of parameters page length and page number rows
	 select LD.Id, LD.SiteIp, LD.Title,	LD.SiteIPTo, LD.SiteMasterIPTo,	LD.CreationDate, LD.ModifiedDate, LD.InstituteName,
		LD.Department, LD.UserId, LD.FirstName,	LD.EmailId
	 from 
	 (Select ROW_NUMBER() OVER (ORDER BY Site.Id) AS RowNo, 
	 Site.Id,Site.SiteIp,Site.Title,ISNULL(Site.SiteIPTo,'') as SiteIPTo,ISNULL(Site.SiteMasterIPTo,'') as SiteMasterIPTo,
	CONVERT(VARCHAR,Site.CreationDate,101) as CreationDate,
	CONVERT(VARCHAR,Site.ModifiedDate,101) as ModifiedDate,
		Site.InstituteName,Site.Department, AIAUser.Id as UserId,AIAUser.FirstName,AIAUser.EmailId
		From ((Site INNER JOIN AIAUserToSite on Site.Id=AIAUserToSite.SiteId)
					INNER JOIN AIAUser on AIAUserToSite.UserId = AIAUser.Id)
		Where Site.IsActive=1 and Site.id in 
			(Select SiteID From SiteToLicenseEdition Where LicenseEditionId in 
				(Select Id From LicenseToEdition Where LicenseId in 
					(Select Id From License Where LicenseTypeId=3 and AccountNumber=@strAccountNumber))))
	 as LD
	 where
	 RowNo > @pageLength * (@pageNo - 1) AND 
	 RowNo <= @pageLength * @pageNo

	--Calculate total number of records
	select @recordCount = count(ResultTable.Id) from 
	(Select Site.Id,Site.SiteIp,Site.Title,ISNULL(Site.SiteIPTo,'') as SiteIPTo,ISNULL(Site.SiteMasterIPTo,'') as SiteMasterIPTo,
	CONVERT(VARCHAR,Site.CreationDate,101) as CreationDate,
	CONVERT(VARCHAR,Site.ModifiedDate,101) as ModifiedDate,
		Site.InstituteName,Site.Department, AIAUser.Id as UserId,AIAUser.FirstName,AIAUser.EmailId
		From ((Site INNER JOIN AIAUserToSite on Site.Id=AIAUserToSite.SiteId)
					INNER JOIN AIAUser on AIAUserToSite.UserId = AIAUser.Id)
		Where Site.IsActive=1 and Site.id in 
			(Select SiteID From SiteToLicenseEdition Where LicenseEditionId in 
				(Select Id From LicenseToEdition Where LicenseId in 
					(Select Id From License Where LicenseTypeId=3 and AccountNumber=@strAccountNumber)))) as ResultTable;

END



