Wednesday, December 24, 2008

FCK Editor Server Side Validation (Custom Validation)

For Reference Site.

http://forums.asp.net/t/1021255.aspx
FCKeditorV2:FCKeditor ID="FCKeditorDecs" runat="server">
FCKeditorV2:FCKeditor

asp:CustomValidator runat="server" ID="cvBody" SetFocusOnError="true" Display="dynamic" Text="Please Enter Description !!" ValidationGroup="Property" ClientValidationFunction="ValidateContentText">
asp:CustomValidator

--Js Function
function ValidateContentText(source,args)
{
var fckBody= FCKeditorAPI.GetInstance('<%=FCKeditorDecs.ClientID %>');
sTemp1 = fckBody.EditorDocument.body.innerHTML
var _blankspace=' ';
var _nospace='';

isValid = true;
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

_blankspace='

';
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

_blankspace='

';
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

_blankspace='

';
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

_blankspace='

';
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

_blankspace='
';
regX = new RegExp(_blankspace,"g");
sTemp1 = sTemp1.replace(regX,_nospace);

var sTemp1 = sTemp1.replace(/^\s+/, '');
sTemp1 = sTemp1.replace(/\s+$/, '');

if(sTemp1.length == 0)
{
fckBody.EditorDocument.body.innerHTML = '';
source.innerHTML = "Please Enter Description !!";
isValid = false;
}

args.IsValid = isValid;
}

Tuesday, December 16, 2008

Friday, November 7, 2008

Xquery Tutorial in asp.net

http://www.pietsieg.com/articles%5Cxquery%5Cbeginner%5CUsing%20XQuery%20in%20ASP.NET%20-%20OLD%20MS%20XQuery%20Demo%5CUsing%20XQuery%20in%20ASP.NET.htm#_Toc16356124

http://aspnet.4guysfromrolla.com/articles/071603-1.2.aspx

Monday, November 3, 2008

Friday, October 31, 2008

Bhupesh/baba Site

http://sites.google.com/site/bhupeshrawatsite/Home
http://sites.google.com/site/meetashwanianand/

Thursday, October 30, 2008

Building a Database Driven Hierarchical Menu using ASP.NET 2.0

http://aspalliance.com/articleViewer.aspx?aId=822&pId=-1

Monday, October 20, 2008

new-features-of-visual-studio-2008

http://msdotnetsupport.blogspot.com/2007/11/22-new-features-of-visual-studio-2008.html

Compressing files using GZIP

http://www.codeproject.com/KB/aspnet/httpcompression.aspx

Monday, October 13, 2008

IIS 6 Compression - quickest and effective way to do it for ASP.NET compression

http://msmvps.com/blogs/omar/archive/2006/08/10/iis-6-compression-quickest-and-effective-way-to-do-it-for-asp-net-compression.aspx

Tuesday, October 7, 2008

Change Display Order After Deleting Record

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
--usp_Admin_DisplayOrder_DeleteUpdateDisplayOrder '56','','Tbl_Article','ArticleID'
--usp_Admin_DisplayOrder_DeleteUpdateDisplayOrder '','5,6','Tbl_Article','ArticleID'
--select * from tbl_Article
ALTER PROC [dbo].[usp_Admin_DisplayOrder_DeleteUpdateDisplayOrder]
@XmlStr VARCHAR(4000),@StrIDs varchar(4000),@Tablename varchar(100),@FieldName varchar(100)
as
Declare @XmlRecord INT
DECLARE @RetVal INT
SET @RetVal = -1

CREATE TABLE #Temp
(
RowID BIGINT IDENTITY(1,1),
ID BIGINT
)
CREATE TABLE #TempDisplayOrder (
DisplayOrder INT )

IF(@XmlStr <> '')
BEGIN
Exec sp_xml_preparedocument @XmlRecord OUTPUT, @XmlStr
Insert InTo #Temp(ID)
Select ID
From OpenXML (@XmlRecord, '/ROOT/DeleteLine', 2)
WITH (ID VARCHAR(10)) b
--SELECT * FROM #Temp
END
ELSE
BEGIN
Insert InTo #Temp(ID)
Select ID From SplitIDs(@StrIDs)
--SELECT * FROM #Temp
END


DECLARE @varMaxCount BIGINT

DECLARE @varCurrentCount BIGINT

DECLARE @varDisplayOrder INT
DECLARE @ID INT
DECLARE @strSql varchar(5000),@strSqlNew varchar(5000),@strSqlNew1 varchar(5000)

SET @varCurrentCount =1
SET @varDisplayOrder=0
SET @ID=0
SET @strSql=''
SET @strSqlNew=''
SET @strSqlNew1=''

SELECT @varMaxCount =max(RowID) FROM #Temp

WHILE (@varCurrentCount <=@varMaxCount)

BEGIN
SET @strSql=''
SET @strSqlNew=''
SET @strSqlNew1=''

SELECT @ID=ID FROM #Temp WHERE RowID=@varCurrentCount
SET @strSql = @strSql + ' SELECT DisplayOrder FROM '+@TableName+' WHERE '+@FieldName+'='+cast(@ID as varchar(100))

INSERT INTO #TempDisplayOrder(DisplayOrder)
EXEC(@strSql)
SELECT @varDisplayOrder=DisplayOrder FROM #TempDisplayOrder

SET @strSqlNew =@strSqlNew+' Update '+ @TableName +' Set DisplayOrder=DisplayOrder - 1 WHERE DisplayOrder > '+cast(@varDisplayOrder as Varchar(100))
SET @strSqlNew1 =@strSqlNew1+' DELETE FROM '+ @TableName +' WHERE '+@FieldName+'='+cast(@ID as varchar(100))
--print @strSqlNew
--print @strSqlNew1
EXEC(@strSqlNew)
EXEC(@strSqlNew1)
DELETE FROM #TempDisplayOrder
SET @varCurrentCount = @varCurrentCount + 1

END

On Key Press

function onkeyPress(e)
{
var key = window.event ? e.keyCode : e.which;
if (key == 13) StartClick(); e.cancelBubble = true; e.returnValue = false; return false;
}
USE
onkeypress="return onkeyPress(event);"

Mix Solutions

http://www.eggheadcafe.com/forumtree.aspx?userID=36927da0-bf19-483d-8843-403528a4e018

Saturday, September 27, 2008

Get control name in Page_Load event which make the post back

http://geekswithblogs.net/mahesh/archive/2006/06/27/83264.aspx

Wednesday, September 17, 2008

Change Display Order in Table using Sql

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Project : VirSanghvi
-- Procedure Name : [usp_Admin_DisplayOrder_ChangeDisplayOrder]
-- Author: Rajat
-- Create date: 17-Sep 2008
-- Description: updating the Forum Post
-- Modified By :
-- Modification Date:
-- =============================================


--usp_Admin_DisplayOrder_ChangeDisplayOrder 'Tbl_Article','ArticleID',1,3,''
-- select * from Tbl_ForumPost

ALTER PROCEDURE [dbo].[usp_Admin_DisplayOrder_ChangeDisplayOrder]
@TableName varchar(100),
@FieldName varchar(100),
@ID varchar(10),
@CurrentDisplayOrder varchar(10),
@Level varchar(100)

AS
DECLARE @RetVal INT,@strSql varchar(5000),@strSqlNew varchar(5000),@strSqlNew1 varchar(5000),@oDisplayOrder varchar(50)
SET @RetVal = -1
SET @strSql =''
SET @strSqlNew=''
SET @strSqlNew1=''
BEGIN TRY
--BEGIN TRAN
CREATE TABLE #TempDisplayOrder (
DisplayOrder varchar(50) )
IF(@Level <> '')
BEGIN
SET @strSql = @strSql + ' SELECT DisplayOrder FROM '+@TableName+' WHERE '+@FieldName+'='+@ID + ' and Level='+@Level
END
ELSE
BEGIN
SET @strSql = @strSql + ' SELECT DisplayOrder FROM '+@TableName+' WHERE '+@FieldName+'='+@ID
END

INSERT INTO #TempDisplayOrder(DisplayOrder)
EXEC(@strSql)
SELECT @oDisplayOrder=DisplayOrder FROM #TempDisplayOrder
--PRINT @oDisplayOrder
IF(@Level <> '')
BEGIN
SET @strSqlNew =@strSqlNew+' Update '+ @TableName +' Set DisplayOrder='+@CurrentDisplayOrder+' WHERE '+@FieldName+'='+@ID

IF(@CurrentDisplayOrder > @oDisplayOrder)
BEGIN
SET @oDisplayOrder = @oDisplayOrder + 1
SET @strSqlNew1 =@strSqlNew1+' Update '+ @TableName +' Set DisplayOrder=DisplayOrder - 1 WHERE Level='+@Level+' and DisplayOrder Between '+@oDisplayOrder +' and '+@CurrentDisplayOrder +' and '+ @FieldName+'<>'+@ID
END
ELSE
BEGIN
SET @oDisplayOrder = @oDisplayOrder - 1
SET @strSqlNew1 =@strSqlNew1+' Update '+ @TableName +' Set DisplayOrder=DisplayOrder + 1 WHERE Level='+@Level+' and DisplayOrder Between '+@CurrentDisplayOrder +' and '+@oDisplayOrder +' and '+ @FieldName+'<>'+@ID
END
END
ELSE
BEGIN
SET @strSqlNew =@strSqlNew+' Update '+ @TableName +' Set DisplayOrder='+@CurrentDisplayOrder+' WHERE '+@FieldName+'='+@ID

IF(@CurrentDisplayOrder > @oDisplayOrder)
BEGIN
SET @oDisplayOrder = @oDisplayOrder + 1
SET @strSqlNew1 =@strSqlNew1+' Update '+ @TableName +' Set DisplayOrder=DisplayOrder - 1 WHERE DisplayOrder Between '+@oDisplayOrder +' and '+@CurrentDisplayOrder +' and '+ @FieldName+'<>'+@ID
END
ELSE
BEGIN
SET @oDisplayOrder = @oDisplayOrder - 1
SET @strSqlNew1 =@strSqlNew1+' Update '+ @TableName +' Set DisplayOrder=DisplayOrder + 1 WHERE DisplayOrder Between '+@CurrentDisplayOrder +' and '+@oDisplayOrder +' and '+ @FieldName+'<>'+@ID
END
END
--COMMIT TRAN
--RETURN @RetVal
--PRINT @CurrentDisplayOrder

--PRINT @strSqlNew
--PRINT @strSqlNew1
EXEC(@strSqlNew)
EXEC(@strSqlNew1)
END TRY

BEGIN CATCH
--ROLLBACK TRAN
--SET @RetVal = -1
--RETURN @RetVal
END CATCH

Create CrumbTrail in SQLServer

CREATE TABLE [dbo].[Tbl_Category](
[CategoryID] [bigint] IDENTITY(1,1) NOT NULL,
[ParentCategoryID] [bigint] NULL,
[DisplayOrder] [int] NOT NULL,
[Level] [int] NULL,
[CategoryName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Description] [varchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[IsPublish] [bit] NULL,
[IsDeleted] [int] NULL,
[CreationDate] [datetime] NULL,
[ModificationDate] [datetime] NULL,
[CreatedBy] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ModifiedBy] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[Tbl_ForumTopic](
[TopicID] [bigint] IDENTITY(1,1) NOT NULL,
[Title] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Description] [varchar](500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DisplayOrder] [int] NULL,
[IsDefault] [bit] NULL,
[IsPublish] [bit] NULL,
[IsDeleted] [int] NULL,
[CreatedBy] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ModifiedBy] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CreationDate] [datetime] NULL,
[ModificationDate] [datetime] NULL
) ON [PRIMARY]


CREATE TABLE [dbo].[Tbl_ForumPost](
[PostID] [bigint] IDENTITY(1,1) NOT NULL,
[FK_TopicID] [bigint] NULL,
[ParentPostID] [bigint] NULL,
[PostTitle] [varchar](1000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PostDescription] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[IsPublish] [bit] NULL,
[IsDeleted] [bit] NULL,
[CreatedBy] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ModifiedBy] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[UserType] [varchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[UserName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[EmailID] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[UserImage] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CreationDate] [datetime] NULL,
[ModificationDate] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

--- Procedure

ALTER Proc [dbo].[usp_Admin_Forum_CrumbTrail]
@PostID int

AS
BEGIN
CREATE TABLE #TempPost (
POSTID BIGINT IDENTITY(1,1) NOT NULL,
PostString varchar(8000))

CREATE TABLE #TempPostNew (
POSTID BIGINT ,
PostString varchar(8000))

Declare @HomePageLink varchar(100),@HomePage varchar(100),@QuestionPage varchar(100),@TopicPage varchar(100) ,@PostPage varchar(100)
Declare @strForumCrumbTail varchar(8000)
Declare @strForumCrumbTailPost varchar(8000)
Declare @strPostString varchar(8000)
Declare @CategoryID varchar(10),@TopicID varchar(10),@ParentPostID varchar(100),@TempPostID varchar(10)
Declare @CategoryName varchar(20),@TopicName varchar(20),@PostName varchar(20)
SET @strForumCrumbTailPost = ''
SET @strForumCrumbTail = ''
set @CategoryID=''
set @TopicID=''
set @QuestionPage='ForumListQuestion.aspx'
set @TopicPage ='ForumTopicList.aspx'
set @PostPage ='ForumListAllPostByPostID.aspx'
set @HomePage ='ForumCategoryList.aspx'
set @HomePageLink = 'Home'
--@CategoryID=FK_CategoryID,
select @TopicID=FK_TopicID,@ParentPostID=ParentPostID
from tbl_ForumPost where PostID=@PostID
/*
if(@CategoryID = '')
BEGIN
select @CategoryID=FK_CategoryID,@TopicID=TopicID
from tbl_ForumTopic where TopicID=@PostID
set @ParentPostID =''
END

if(@CategoryID !='')
BEGIN
select @CategoryName=CategoryName from tbl_ForumCategory where CategoryID=@CategoryID
set @strForumCrumbTail = ''+@CategoryName + ''
END
*/
if(@TopicID !='')
BEGIN
select @TopicName=Title from tbl_ForumTopic where TopicID=@TopicID
set @strForumCrumbTail = ''+@TopicName + ''
END

if(@PostID !='')
BEGIN
if(@ParentPostID > 0)
BEGIN
While(@ParentPostID > 0)
Begin
select @TempPostID = PostID,@ParentPostID = ParentPostID,@PostName=PostTitle from tbl_ForumPost where PostID= @ParentPostID
set @strPostString = ''+@PostName + '' + ' >> '
INSERT INTO #TempPost(PostString)values(@strPostString)
End

END
END

INSERT INTO #TempPostNew(POSTID,PostString)
select POSTID,PostString from #TempPost ORDER BY 1 desc

SELECT @strForumCrumbTailPost = @strForumCrumbTailPost + PostString FROM #TempPostNew

if(@strForumCrumbTailPost <>'')
BEGIN
set @strForumCrumbTail = @HomePageLink+' >> '+ @strForumCrumbTail + ' >> '+ @strForumCrumbTailPost
SELECT substring(@strForumCrumbTail,0,len(@strForumCrumbTail)-2)
END

ELSE
BEGIN
set @strForumCrumbTail = @HomePageLink+' >> '+ @strForumCrumbTail
SELECT @strForumCrumbTail
END


END

To pass a table name and FieldName as Parameter in SQl procedure(Update Display Order)

--usp_Admin_DisplayOrder_UpdateDisplayOrder 'Tbl_Category','1'
-- select * from Tbl_ForumPost

ALTER PROCEDURE [dbo].[usp_Admin_DisplayOrder_UpdateDisplayOrder]
@TableName varchar(100),
@Level varchar(10)

AS
DECLARE @RetVal INT,@strSql varchar(1000)
SET @RetVal = -1
SET @strSql =''
BEGIN TRY
BEGIN TRAN
IF(@Level <> '')
BEGIN
SET @strSql =@strSql+' Update '+ @TableName +' Set DisplayOrder=IsNull(DisplayOrder,0) +1 WHERE Level='+@Level
END
ELSE
BEGIN
SET @strSql =@strSql+' Update '+ @TableName +' Set DisplayOrder=IsNull(DisplayOrder,0) +1'
END

EXEC(@strSql)

COMMIT TRAN
--RETURN @RetVal
--PRINT @strSql
END TRY

BEGIN CATCH
ROLLBACK TRAN
SET @RetVal = -1
RETURN @RetVal
END CATCH

Error handling code

http://www.codeproject.com/KB/architecture/donetStandards.aspx

Thursday, September 11, 2008

Custom Paging

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

--usp_GetEmpList 2,2,0
ALTER PROC [dbo].[usp_GetEmpList]

@startRowIndex int,

@maximumRows int,

@totalRows int OUTPUT

AS

DECLARE @first_id int, @startRow int

SET @startRowIndex = (@startRowIndex - 1) * @maximumRows

IF @startRowIndex = 0

SET @startRowIndex = 1

SET ROWCOUNT @startRowIndex

SELECT @first_id = CategoryId FROM Tbl_Category ORDER BY CategoryId
IF @startRowIndex = 1
set @first_id = @first_id
else
set @first_id = @first_id + 1

PRINT @first_id

SET ROWCOUNT @maximumRows

SELECT * FROM Tbl_Category WHERE CategoryId >= @first_id ORDER BY CategoryId

SET ROWCOUNT 0

-- GEt the total rows

SELECT @totalRows = COUNT(CategoryId) FROM Tbl_Category

Tuesday, September 9, 2008

Custom Paging

http://www.codeproject.com/KB/webforms/GridViewCustomPaging.aspx

Wednesday, September 3, 2008

n-TIER Code

http://www.microsoft.com/belux/msdn/nl/community/columns/hyatt/ntier3.mspx
http://www.microsoft.com/belux/msdn/nl/community/columns/hyatt/ntier2.mspx
http://www.microsoft.com/belux/msdn/nl/community/columns/hyatt/ntier1.mspx

Tuesday, September 2, 2008

collection class

http://msdn.microsoft.com/en-us/library/system.collections.icollection.aspx

Generices

http://msdn.microsoft.com/en-us/library/512aeb7t(VS.80).aspx
http://www.c-sharpcorner.com/UploadFile/sdhar8po/GenericsInCSharp11152005055344AM/GenericsInCSharp.aspx
http://www.csharp-station.com/Tutorials/Lesson20.aspx
http://www.codeproject.com/Articles/8360/Generics-in-C-2-0

Monday, September 1, 2008

bind SortedList with GridView

http://www.jigar.net/howdoi/viewhtmlcontent193.aspx

Arraylist with class Objects

http://www.uberasp.net/GetArticle.aspx?id=7

Arraylist collection List

aspx Page

asp:GridView ID="Gv_User" runat="server" AutoGenerateColumns="false"
onrowdatabound="Gv_User_RowDataBound"
asp:BoundField DataField="UserID" HeaderText="User ID" />
asp:BoundField DataField="UserName" HeaderText="User Name" />
asp:TemplateField>
ItemTemplate>
asp:Label ID="lblUserID" runat="server" >
/ItemTemplate>
/asp:TemplateField>
/Columns>
/asp:GridView


CS File

public partial class CollectionClass : System.Web.UI.Page
{
ArrayList arr = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList arrnew= getData();
Gv_User.DataSource = arrnew;
Gv_User.DataBind();
//foreach (User A1 in arrnew)
//{
// Response.Write(A1.UserName);
// Response.Write(A1.UserID);
//}

}
}

private ArrayList getData()
{
string sSQL = "select cast(ID as int),Name from tbl_test";
string sConnString = ConfigurationManager.ConnectionStrings["octanmen"].ToString();

using (SqlConnection oCn = new SqlConnection(sConnString))
{
SqlCommand oSelCmd = new SqlCommand(sSQL, oCn);
oSelCmd.CommandType = CommandType.Text;
oCn.Open();
SqlDataReader oDr = oSelCmd.ExecuteReader();
while (oDr.Read())
{
User objUser = new User();
objUser.UserID = oDr.GetInt32(0);
objUser.UserName = oDr.GetString(1);
arr.Add(objUser);

}
oDr.Close();
oCn.Close();
// return the finished ArrayList with customer objects
return arr;


}

}

//private void Printdata(IEnumerable myList)
//{
// IEnumerator myEnumerator = myList.GetEnumerator();
// while (myEnumerator.MoveNext())
// Response.Write(myEnumerator.Current);


//}

protected void Gv_User_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lblUserID = (Label)e.Row.FindControl("lblUserID");
lblUserID.Text = DataBinder.Eval(e.Row.DataItem, "UserID").ToString();
}
}
}

public class User
{
private int m_intUserID = 0;
private string m_strName;
public int UserID { get { return m_intUserID; } set { m_intUserID = value; } }
public string UserName { get { return m_strName; } set { m_strName = value; } }



}

Thursday, August 28, 2008

Collection Class

http://msdn.microsoft.com/en-us/library/6tc79sx1(VS.80).aspx

What is n-Tier Architecture?

http://www.developerfusion.co.uk/show/3058/2/

Tuesday, August 26, 2008

DataPager Paging Issue

just do only

1. Add a OnPreRender to the DataPager

2. In the OnPreRender, Bind the listview again to the dataset

as my Function name is

private void getDetail()
{
clsListView obj = new clsListView();
DataTable dt = obj.getDetails();
LV_Getail.DataSource = dt;
LV_Getail.DataBind();
}


protected void Pager_PreRender(object sender, EventArgs e)
{
getDetail();
}


protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
getDetail();

}

Wednesday, July 9, 2008

for disable right click in pages

write this function body on load
oncontextmenu="javascript:return false"

ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0

http://msdn.microsoft.com/en-us/library/ms178473.aspx

Tuesday, July 8, 2008

Crumb Trail

==>Table Structure
CREATE TABLE [dbo].[Tbl_ForumCategory](
[CategoryID] [bigint] IDENTITY(1,1) NOT NULL,
[CategoryName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[IsPublish] [bit] NULL CONSTRAINT [DF_Tbl_ForumCategory_IsPublish] DEFAULT (0),
[CreationDate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumCategory_CreationDate] DEFAULT (getdate()),
[ModificationDate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumCategory_ModificationDate] DEFAULT (getdate()),
CONSTRAINT [PK4] PRIMARY KEY NONCLUSTERED
(
[CategoryID] ASC
) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Tbl_ForumTopic](
[TopicID] [bigint] IDENTITY(1,1) NOT NULL,
[FK_CategoryID] [bigint] NULL CONSTRAINT [DF_Tbl_ForumTopic_FK_CategoryID] DEFAULT (0),
[TopicName] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TopicView] [int] NULL CONSTRAINT [DF_Tbl_ForumTopic_TopicView] DEFAULT (0),
[IsPublish] [bit] NULL CONSTRAINT [DF_Tbl_ForumTopic_IsPublish] DEFAULT (1),
[CreationDate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumTopic_CreationDate] DEFAULT (getdate()),
[ModificationDate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumTopic_ModificationDate] DEFAULT (getdate()),
[CreatedBy] [bigint] NULL CONSTRAINT [DF_Tbl_ForumTopic_CreatedBy] DEFAULT (1),
CONSTRAINT [PK2] PRIMARY KEY NONCLUSTERED
(
[TopicID] ASC
) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[Tbl_ForumPost](
[PostID] [bigint] IDENTITY(1,1) NOT NULL,
[FK_CategoryID] [bigint] NULL,
[FK_TopicID] [bigint] NOT NULL,
[FK_QuestionID] [bigint] NULL CONSTRAINT [DF_Tbl_ForumPost_FK_QuestionID] DEFAULT (0),
[ParentPostID] [bigint] NOT NULL,
[PostTitle] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[PostDescription] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[TypeOfPost] [bit] NULL,
[UserType] [varchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[IsPublish] [bit] NULL,
[CreationDate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumPost_CreationDate] DEFAULT (getdate()),
[Modificationdate] [datetime] NULL CONSTRAINT [DF_Tbl_ForumPost_Modificationdate] DEFAULT (getdate()),
[CreatedBy] [bigint] NOT NULL,
[AbuseComments] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[IsAbuseReport] [int] NULL,
[AbuseUser] [int] NULL,
[IsBlockedUser] [bit] NULL,
CONSTRAINT [PK3] PRIMARY KEY NONCLUSTERED
(
[PostID] ASC
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

==>Procedure

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
--set QUOTED_IDENTIFIER OFF
--Proc_ForumCrumbTrail 1
ALTER Proc [dbo].[Proc_ForumCrumbTrail]
@PostID int

AS
BEGIN
CREATE TABLE #TempPost (
POSTID BIGINT IDENTITY(1,1) NOT NULL,
PostString varchar(8000))

CREATE TABLE #TempPostNew (
POSTID BIGINT ,
PostString varchar(8000))

Declare @HomePageLink varchar(100),@HomePage varchar(100),@QuestionPage varchar(100),@TopicPage varchar(100) ,@PostPage varchar(100)
Declare @strForumCrumbTail varchar(8000)
Declare @strForumCrumbTailPost varchar(8000)
Declare @strPostString varchar(8000)
Declare @CategoryID varchar(10),@TopicID varchar(10),@ParentPostID varchar(100),@TempPostID varchar(10)
Declare @CategoryName varchar(20),@TopicName varchar(20),@PostName varchar(20)
SET @strForumCrumbTailPost = ''
SET @strForumCrumbTail = ''
set @CategoryID=''
set @TopicID=''
set @QuestionPage='ForumListQuestion.aspx'
set @TopicPage ='ForumTopicList.aspx'
set @PostPage ='ForumListAllPostByPostID.aspx'
set @HomePage ='ForumCategoryList.aspx'
set @HomePageLink = 'Home'
select @CategoryID=FK_CategoryID,@TopicID=FK_TopicID,@ParentPostID=ParentPostID
from tbl_ForumPost where PostID=@PostID

if(@CategoryID = '')
BEGIN
select @CategoryID=FK_CategoryID,@TopicID=TopicID
from tbl_ForumTopic where TopicID=@PostID
set @ParentPostID =''
END

if(@CategoryID !='')
BEGIN
select @CategoryName=CategoryName from tbl_ForumCategory where CategoryID=@CategoryID
set @strForumCrumbTail = ''+@CategoryName + ''
END

if(@TopicID !='')
BEGIN
select @TopicName=TopicName from tbl_ForumTopic where TopicID=@TopicID
set @strForumCrumbTail = @strForumCrumbTail+' >> '+''+@TopicName + ''
END

if(@PostID !='')
BEGIN
if(@ParentPostID > 0)
BEGIN
While(@ParentPostID > 0)
Begin
select @TempPostID = PostID,@ParentPostID = ParentPostID,@PostName=PostTitle from tbl_ForumPost where PostID= @ParentPostID
set @strPostString = ''+@PostName + '' + ' >> '
INSERT INTO #TempPost(PostString)values(@strPostString)
End

END
END

INSERT INTO #TempPostNew(POSTID,PostString)
select POSTID,PostString from #TempPost ORDER BY 1 desc

SELECT @strForumCrumbTailPost = @strForumCrumbTailPost + PostString FROM #TempPostNew

if(@strForumCrumbTailPost <>'')
BEGIN
set @strForumCrumbTail = @HomePageLink+' >> '+ @strForumCrumbTail + ' >> '+ @strForumCrumbTailPost
SELECT substring(@strForumCrumbTail,0,len(@strForumCrumbTail)-2)
END

ELSE
BEGIN
set @strForumCrumbTail = @HomePageLink+' >> '+ @strForumCrumbTail
SELECT @strForumCrumbTail
END


END

Tuesday, June 24, 2008

javascript: Validate date and time like(12:12:12am and 12:12:12 pm)

var d1 = document.getElementById(FinalControlID2).value.split('/'); from date
var d2 = document.getElementById(FinalControlID3).value.split('/');todate
var d3 = document.getElementById("hidTodayDate").value.split('-');

var TodayDate = new Date(d3[1]+'/'+d3[0]+'/'+d3[2]);
var StartTime = document.getElementById(FinalControlID5).value;
var EndTime = document.getElementById(FinalControlID6).value;

if(StartTime != "" && EndTime != "")
{
var StartTime = new Date(d1[1]+'/'+d1[0]+'/'+d1[2] + ' ' +StartTime);
var EndTime = new Date(d2[1]+'/'+d2[0]+'/'+d2[2] + ' ' +EndTime);

var StartTime = TodayDate.setTime(StartTime)
var EndTime = TodayDate.setTime(EndTime)

if(StartTime == EndTime)
{
alert("Start Time and End Time can not be same!")
document.getElementById(FinalControlID6).focus();
return false;
}
// alert(StartTime > EndTime)
if(StartTime > EndTime)
{
alert("End Time should not be less than Start time!")
document.getElementById(FinalControlID6).focus();
return false;
}
}

Monday, June 23, 2008

date Comparision

if(document.getElementById(FinalControlID2).value != "" && document.getElementById(FinalControlID3).value != "")
{
var sDateStart = document.getElementById(FinalControlID2).value;
var sDateEnd = document.getElementById(FinalControlID3).value;
startArr = sDateStart.split('/');

endArr = sDateEnd.split('/');

y1 = startArr[2];

m1 = startArr[1];

d1 = startArr[0];


y2 = endArr[2];

m2 = endArr[1];

d2 = endArr[0];


date1 = new Date(y1,m1,d1);
date2 = new Date(y2,m2,d2);


if (date1.getTime() > date2.getTime())

{

alert("start date should not be greater than end date.");

//document.getElementById(FinalControlID2).focus();

return false;

}

}

Tuesday, June 3, 2008

View State

http://msdn.microsoft.com/en-us/library/ms972976.aspx

Session State

http://msdn.microsoft.com/en-us/library/ms972429.aspx

Monday, June 2, 2008

Javascript:Phone Number

var validChars = ", +-0123456789()";

if(document.getElementById(FinalControlID17).value.trim() !="")
{
var sControlValue = document.getElementById(FinalControlID17).value.trim();
for (var i = 0; i < sControlValue.length; i++)
{
if(validChars.indexOf(sControlValue.charAt(i)) == -1)
{
alert ("Please enter a valid Phone Number");
document.getElementById(FinalControlID17).select();
return false;
}
}

}

Javascript:Phone number

var validChars = ", +-0123456789()";
Usage
if(document.getElementById(FinalControlID17).value.trim() !="")
{
var sControlValue = document.getElementById(FinalControlID17).value.trim();
for (var i = 0; i < sControlValue.length; i++)
{
if(validChars.indexOf(sControlValue.charAt(i)) == -1)
{
alert ("Please enter a valid Phone Number");
document.getElementById(FinalControlID17).select();
return false;
}
}

}

javascript:Email Check

var emailexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

Usage

if(document.getElementById(FinalControlID10).value.trim() =="")
{
alert("Please enter Email Address.");
document.getElementById(FinalControlID10).focus();
return false;
}
else if(emailexp.test(document.getElementById(FinalControlID10).value.trim()) == 0)
{
alert("Please enter a valid Email Address.");
document.getElementById(FinalControlID10).focus();
return false;
}

Javascript: Email Check

var emailexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;

Usage

if(document.getElementById(FinalControlID10).value.trim() =="")
{
alert("Please enter Email Address.");
document.getElementById(FinalControlID10).focus();
return false;
}
else if(emailexp.test(document.getElementById(FinalControlID10).value.trim()) == 0)
{
alert("Please enter a valid Email Address.");
document.getElementById(FinalControlID10).focus();
return false;
}

javascript:DOB Check

var month=document.getElementById(FinalControlID6).value;
var day=document.getElementById(FinalControlID7).value;
var year=document.getElementById(FinalControlID8).value;
if((month == "02" )&& (day == "30" || day == "31"))
{
alert("You have selected an invalid DOB");
document.getElementById(FinalControlID7).focus();
return false;
}

if((month == "04" || month=="06" || month=="09" || month=="11") && (day == "31"))
{
alert("You have selected an invalid DOB");
document.getElementById(FinalControlID7).focus();
return false;
}

if(!(year%400 ==0 || (year%100 != 0 && year%4 == 0)))
{
if(document.getElementById(FinalControlID7).value.trim() == "29" && document.getElementById(FinalControlID6).value.trim() == "2")
{
alert("You have selected an invalid DOB");
document.getElementById(FinalControlID7).focus();
return false;
}

}

javascript: Enter only integer Value

var LimitDisplay=document.getElementById(Temp + "txtLimitDisplay").value.trim();
var validChars = "0123456789";

for(i=0;i < LimitDisplay.length;i++)
{ if(validChars.indexOf(LimitDisplay.charAt(i)) == -1)
{ alert("Please enter only numeric value in Max Views");
document.getElementById(Temp + "txtLimitDisplay").focus();
return false;
}
}

Javascript: Check Date Format in TextBox

function fnIsValidDate(dateStr, format)
{
if (format == null) { format = "MDY"; }
format = format.toUpperCase();
if (format.length != 3) { format = "MDY"; }
if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1) ) { format = "MDY"; }
if (format.substring(0, 1) == "Y") { // If the year is first
var reg1 = /^\d{2}(|\/|\.)\d{1,2}\1\d{1,2}$/
var reg2 = /^\d{4}(|\/|\.)\d{1,2}\1\d{1,2}$/
} else if (format.substring(1, 2) == "Y") { // If the year is second
var reg1 = /^\d{1,2}(|\/|\.)\d{2}\1\d{1,2}$/
var reg2 = /^\d{1,2}(|\/|\.)\d{4}\1\d{1,2}$/
} else { // The year must be third
var reg1 = /^\d{1,2}(|\/|\.)\d{1,2}\1\d{2}$/
var reg2 = /^\d{1,2}(|\/|\.)\d{1,2}\1\d{4}$/
}
// If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
// Check to see if the 3 parts end up making a valid date
if (format.substring(0, 1) == "M") { var mm = parts[0]; } else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
if (format.substring(0, 1) == "D") { var dd = parts[0]; } else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
if (parseFloat(dd) != dt.getDate()) { return false; }
if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
return true;
}

Usage

var oDate = document.getElementById(Temp + "txtLimitDisplay").value.trim();
//oDate.value = trim(oDate.value);
if(oDate != '' && !fnIsValidDate(oDate, 'MDY'))
{
alert('Please enter date in \' MM\/DD\/YYYY \' format.')
document.getElementById(Temp + "txtLimitDisplay").focus();
return false;
}

var arr;
if(document.getElementById(Temp + "txtLimitDisplay").value!=null)
arr=document.getElementById(Temp + "txtLimitDisplay").value.split('/')



var SelectedDate=new Date()
SelectedDate.setFullYear(arr[2],arr[0]-1,arr[1])
SelectedDate.setHours(00,00,00,00);


var CurrentDate=new Date();

CurrentDate.setFullYear(CurrentDate.getFullYear(),CurrentDate.getMonth(),CurrentDate.getDate());
CurrentDate.setHours(00,00,00,00);
// alert(SelectedDate);
// alert(CurrentDate);
var intMonth=arr[0];

if(intMonth.length > 2)
{
alert("Please enter date in \' MM\/DD\/YYYY \' format.");
document.getElementById(Temp + "txtLimitDisplay").focus();
return false;
}


if(SelectedDate <= CurrentDate)
{
alert("Expiry Date should be greater than current date.");
document.getElementById(Temp + "txtLimitDisplay").focus();
return false;
}

Javascript:Url Checking

function isURL(argvalue)
{
urlRegEx = /http[s]?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?/;

var testVal = argvalue.trim();

if(testVal.length > 9 && urlRegEx.test(testVal))
{
return true;

}
else
{
return false;
}
}

Usage

if(!isURL(document.getElementById(FinalControlID2).value))

Javascript:check length of textarea

function textCounter(field, maxlimit)// check length of textarea
{
if (field.value.length > maxlimit)
field.value = field.value.substring(0,maxlimit);
}

onkeydown="textCounter(this.form.ctl00$ContentPlaceHolder1$txtBrandDescription,2000);"
onkeyup="textCounter(this.form.ctl00$ContentPlaceHolder1$txtBrandDescription,2000);" style="width: 218px"

of TextArea or TextBox

Trim Function

function strtrim()
{
return this.replace(/^\s+/,'').replace(/\s+$/,'');
}

String.prototype.trim = strtrim;

usage
if(document.getElementById(FinalControlID1).value.trim()=="")

Sunday, June 1, 2008

Javascript: rounding to 2 decimal places


document.getElementById("hidTotalAmount").value = round_decimals((document.getElementById('txtBillingAmount').value), 2);

Friday, January 18, 2008