<%@
Page
Language="C#"
AutoEventWireup="true"
CodeFile="First.aspx.cs"
Inherits="First"
%>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head
runat="server">
<title></title>
</head>
<body>
<form
id="form1"
runat="server">
<table
border="1">
<tr>
<td
colspan="3">
<asp:Label
ID="lblError"
runat="server"
ForeColor="Red"></asp:Label>
</td>
</tr>
<tr
align="center">
<td>
<asp:Label
ID="lblCalFromDate"
runat="server"
Text="From
Date :"></asp:Label>
</td>
<td>
<asp:Calendar
ID="calFrom"
runat="server"
OtherMonthDayStyle-ForeColor="ActiveBorder"
OnSelectionChanged="calFrom_SelectionChanged">
<NextPrevStyle
ForeColor="Brown"
/>
<WeekendDayStyle
ForeColor="Blue"
/>
</asp:Calendar>
</td>
<td>
<asp:TextBox
ID="txtFromDate"
runat="server"
Enabled="false"></asp:TextBox>
</td>
<td
rowspan="2">
<asp:DataList
ID="dlCalDisp"
runat="server"
RepeatColumns="4">
<ItemTemplate>
<%#
Container.DataItem %>
</ItemTemplate>
<AlternatingItemTemplate>
<%#
Container.DataItem %>
</AlternatingItemTemplate>
</asp:DataList>
</td>
</tr>
<tr
align="center">
<td>
<asp:Label
ID="lblCalToDate"
runat="server"
Text="To
Date :"></asp:Label>
</td>
<td>
<asp:Calendar
ID="CalTo"
runat="server"
OnSelectionChanged="CalTo_SelectionChanged">
<NextPrevStyle
ForeColor="Brown"
/>
<WeekendDayStyle
ForeColor="Blue"
/>
</asp:Calendar>
</td>
<td>
<asp:TextBox
ID="txtToDate"
runat="server"
Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label
ID="lblRecurrence"
runat="server"
Text="Recurrence
:"></asp:Label>
</td>
<td>
<asp:RadioButtonList
ID="rbRecurrence"
runat="server"
RepeatDirection="Horizontal"
OnSelectedIndexChanged="rbRecurrence_SelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem
Value="0"
Text="Repeated"></asp:ListItem>
<asp:ListItem
Value="1"
Text="Repeated
On"></asp:ListItem>
</asp:RadioButtonList>
</td>
<td
colspan="2">
<asp:Panel
ID="pnlRepeated"
runat="server"
GroupingText="Repeated"
Visible="false">
<asp:DropDownList
ID="ddlEvery"
runat="server"
OnSelectedIndexChanged="ddlEvery_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList
ID="ddlDay"
runat="server"
OnSelectedIndexChanged="ddlDay_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
</asp:Panel>
<asp:Panel
ID="pnlRepeatedOn"
runat="server"
GroupingText="Repeated
On"
Visible="false">
<asp:DropDownList
ID="ddlFirst"
runat="server"
OnSelectedIndexChanged="ddlFirst_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList
ID="ddlSunday"
runat="server"
OnSelectedIndexChanged="ddlSunday_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList
ID="ddlMonth"
runat="server"
OnSelectedIndexChanged="ddlMonth_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
</asp:Panel>
</td>
</tr>
<tr>
<td
colspan="4"
align="center">
<asp:Button
ID="btnDisp"
runat="server"
OnClick="btnDisp_Click"
Text="Click"
Width="50%"
/>
</td>
</tr>
</table>
</form>
</body>
</html>
===========================================================================================
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
public
partial
class
First
: System.Web.UI.Page
{
protected
void
Page_Load(object
sender, EventArgs
e)
{
if
(!IsPostBack)
{
try
{
BindRepeatedEvery();
BindRepeatedDay();
BindRepeatedOnFirstDay();
BindRepeatedOnSunDay();
BindRepeatedOnMonthDay();
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
}
private
int
SelectedDay { get
{ return
Convert.ToInt16(ddlSunday.SelectedValue);
} }
private
int
SelectedTime { get
{ return
Convert.ToInt16(ddlFirst.SelectedValue);
} }
private
int
SelectedMonths { get
{ return
Convert.ToInt16(ddlMonth.SelectedValue);
} }
private
DateTime
FromDate { get
{ return
Convert.ToDateTime(txtFromDate.Text);
} }
private
DateTime
ToDate { get
{ return
Convert.ToDateTime(txtToDate.Text);
} }
protected
void
rbRecurrence_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
if
(rbRecurrence.SelectedValue == "0")
{
pnlRepeated.Visible = true;
pnlRepeatedOn.Visible = false;
}
else
if
(rbRecurrence.SelectedValue == "1")
{
pnlRepeated.Visible = false;
pnlRepeatedOn.Visible = true;
}
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
protected
void
calFrom_SelectionChanged(Object
sender, EventArgs
e)
{
txtFromDate.Text =
calFrom.SelectedDate.ToString("dd-MM-yyyy");
}
protected
void
CalTo_SelectionChanged(Object
sender, EventArgs
e)
{
txtToDate.Text =
CalTo.SelectedDate.ToString("dd-MM-yyyy");
}
#region
Repeated
#region
Repeated Dropdown
protected
void
ddlEvery_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
protected
void
ddlDay_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
#endregion
protected
void
BindRepeatedEvery()
{
ddlEvery.Items.Insert(0, new
ListItem("Select-One",
"0"));
ddlEvery.Items.Insert(1, new
ListItem("Every",
"1"));
ddlEvery.Items.Insert(2, new
ListItem("Every
Other",
"2"));
ddlEvery.Items.Insert(3, new
ListItem("Every
Third",
"3"));
ddlEvery.Items.Insert(4, new
ListItem("Every
Fourth",
"4"));
ddlEvery.Items.Insert(5, new
ListItem("Every
Fifth",
"5"));
}
protected
void
BindRepeatedDay()
{
ddlDay.Items.Insert(0, new
ListItem("Select-One",
"0"));
ddlDay.Items.Insert(1, new
ListItem("Day",
"1"));
ddlDay.Items.Insert(2, new
ListItem("Week",
"2"));
ddlDay.Items.Insert(3, new
ListItem("Month",
"3"));
ddlDay.Items.Insert(4, new
ListItem("Year",
"4"));
}
#endregion
#region
Repeated On
#region
Repeated on Dropdown
protected
void
ddlFirst_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
protected
void
ddlSunday_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
protected
void
ddlMonth_SelectedIndexChanged(object
sender, EventArgs
e)
{
try
{
}
catch
(Exception
ex)
{
lblError.Text = ex.Message;
}
}
#endregion
protected
void
BindRepeatedOnFirstDay()
{
ddlFirst.Items.Insert(0, new
ListItem("Select-One",
"0"));
ddlFirst.Items.Insert(1, new
ListItem("First",
"1"));
ddlFirst.Items.Insert(2, new
ListItem("Second",
"2"));
ddlFirst.Items.Insert(3, new
ListItem("Third",
"3"));
ddlFirst.Items.Insert(4, new
ListItem("Fourth",
"4"));
ddlFirst.Items.Insert(5, new
ListItem("Fifth",
"5"));
}
protected
void
BindRepeatedOnSunDay()
{
//ddlSunday.Items.Insert(0,
new ListItem("Select-One", "0"));
ddlSunday.Items.Insert(0, new
ListItem("Sunday",
"0"));
ddlSunday.Items.Insert(1, new
ListItem("Monday",
"1"));
ddlSunday.Items.Insert(2, new
ListItem("Tuesday",
"2"));
ddlSunday.Items.Insert(3, new
ListItem("Wednesday",
"3"));
ddlSunday.Items.Insert(4, new
ListItem("Thursday",
"4"));
ddlSunday.Items.Insert(5, new
ListItem("Friday",
"5"));
ddlSunday.Items.Insert(6, new
ListItem("Saturday",
"6"));
}
protected
void
BindRepeatedOnMonthDay()
{
ddlMonth.Items.Insert(0, new
ListItem("Select-One",
"0"));
ddlMonth.Items.Insert(1, new
ListItem("Month",
"1"));
ddlMonth.Items.Insert(2, new
ListItem("3
Month",
"3"));
ddlMonth.Items.Insert(3, new
ListItem("4
Month",
"4"));
ddlMonth.Items.Insert(4, new
ListItem("6
Month",
"6"));
ddlMonth.Items.Insert(5, new
ListItem("Year",
"12"));
}
#endregion
#region
Button Click Event
protected
void
btnDisp_Click(object
sender, EventArgs
e)
{
if
(rbRecurrence.SelectedValue == "0")
{
getRepeated();
}
else
if
(rbRecurrence.SelectedValue == "1")
{
getRepeatedon();
}
}
#endregion
private
void
getRepeatedon()
{
int
DaysRange = (int)Math.Ceiling(ToDate.Subtract(FromDate).TotalDays
/ (SelectedMonths * 30));
DateTime
FromDateMSD = new
DateTime(FromDate.Year,
FromDate.Month, 1);
List<DateTime>
lstDates = new
List<DateTime>();
Enumerable.Range(0,
DaysRange).ToList().ForEach(s =>
{
FromDateMSD = FromDateMSD.AddMonths(s == 0 ? 0 :
SelectedMonths);
DateTime
NewDate = FromDateMSD.AddDays(((DayOfWeek)SelectedDay
< FromDateMSD.DayOfWeek ? 7 : 0) + (DayOfWeek)SelectedDay
- FromDateMSD.DayOfWeek).AddDays((SelectedTime - 1) * 7);
if
(NewDate >= FromDate && NewDate <= ToDate)
lstDates.Add(NewDate);
});
dlCalDisp.DataSource = lstDates.Select(s
=> s.ToString("dd-MM-yyyy")).ToList();
dlCalDisp.DataBind();
}
private
void
getRepeated()
{
List<DateTime>
lstDates = new
List<DateTime>();
int
SelectedEveryInterval = Convert.ToInt16(ddlEvery.SelectedValue);
int
SelectedRepeatType = Convert.ToInt16(ddlDay.SelectedValue);
int
ExamptionRange = 0;
if
(SelectedRepeatType == 1)
ExamptionRange = SelectedEveryInterval *
SelectedRepeatType;
else
if
(SelectedRepeatType == 2)
ExamptionRange = SelectedEveryInterval * 7;
else
if
(SelectedRepeatType == 3 || SelectedRepeatType == 4)
ExamptionRange = SelectedEveryInterval;
DateTime
NewDate = FromDate;
lstDates.Add(NewDate);
while
(NewDate <= ToDate)
{
if
(SelectedRepeatType == 1 || SelectedRepeatType == 2)
NewDate = NewDate.AddDays(ExamptionRange);
else
if
(SelectedRepeatType == 3)
NewDate = NewDate.AddMonths(ExamptionRange);
else
if
(SelectedRepeatType == 4)
NewDate = NewDate.AddYears(ExamptionRange);
lstDates.Add(NewDate);
}
dlCalDisp.DataSource = lstDates.Where(l => l >=
FromDate && l <= ToDate).Select(s =>
s.ToShortDateString()).ToList();
dlCalDisp.DataBind();
//DateTime
StartingDate=calFrom.SelectedDate;
//DateTime
EndingDate = CalTo.SelectedDate;
//if
(StartingDate < EndingDate)
//{
//
List<DateTime> lstDates = new List<DateTime>();
//
DateTime tmpDate = StartingDate;
//
do
//
{
//
lstDates.Add(tmpDate);
//
tmpDate = tmpDate.AddDays(ddlDay.SelectedValue == "1"
? 1 : ddlDay.SelectedValue == "2" ? 7 :
ddlDay.SelectedValue == "3" ? 30 : ddlDay.SelectedValue ==
"4" ? 365 : 0);
//
} while (tmpDate <= EndingDate);
//
dlCalDisp.DataSource = lstDates.Select(s =>
s.ToString("dd-MM-yyyy")).ToList();
//
dlCalDisp.DataBind();
//}
}
}
No comments:
Post a Comment