Default2.aspx
<body>
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left" style="width: 200px; border-right: solid 2px #000000; border-bottom: solid 2px #000000;">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left">
Start Date :<br />
<asp:Calendar runat="server" ID="clndStart" OnSelectionChanged="clndStart_SelectionChanged">
</asp:Calendar>
<br />
<asp:TextBox runat="server" ID="txtStartDate" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left">
End Date :<br />
<asp:Calendar runat="server" ID="clndEnd" OnSelectionChanged="clndEnd_SelectionChanged">
</asp:Calendar>
<br />
<asp:TextBox runat="server" ID="txtEndDate" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left">
Recurrence :<br />
<asp:RadioButton ID="rbtnRepeated" runat="server" GroupName="repeat" Checked="true"
Text="Repeated" /><br />
<asp:DropDownList runat="server" ID="ddlRepeatedFirst">
<asp:ListItem Selected="True" Text="Every" Value="1"></asp:ListItem>
<asp:ListItem Text="Every Other" Value="2"></asp:ListItem>
<asp:ListItem Text="Every Third" Value="3"></asp:ListItem>
<asp:ListItem Text="Every Fourth" Value="4"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlRepeatedSecond">
<asp:ListItem Selected="True" Text="Day" Value="1"></asp:ListItem>
<asp:ListItem Text="Week" Value="7"></asp:ListItem>
<asp:ListItem Text="Month" Value="3"></asp:ListItem>
<asp:ListItem Text="Year" Value="4"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="left">
<asp:RadioButton ID="rbtnRepeatedOn" runat="server" GroupName="repeat" Text="Repeated On" /><br />
<asp:DropDownList runat="server" ID="ddlRepeatedOnFirst">
<asp:ListItem Selected="True" Text="First" Value="1"></asp:ListItem>
<asp:ListItem Text="Second" Value="2"></asp:ListItem>
<asp:ListItem Text="Third" Value="3"></asp:ListItem>
<asp:ListItem Text="Fourth" Value="4"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlRepeatedOnSecond">
<asp:ListItem Text="Sunday" Value="0"></asp:ListItem>
<asp:ListItem Text="Monday" Selected="True" Value="1"></asp:ListItem>
<asp:ListItem Text="Tuesday" Value="2"></asp:ListItem>
<asp:ListItem Text="Wednesday" Value="3"></asp:ListItem>
<asp:ListItem Text="Thursday" Value="4"></asp:ListItem>
<asp:ListItem Text="Friday" Value="5"></asp:ListItem>
<asp:ListItem Text="Saturday" Value="6"></asp:ListItem>
</asp:DropDownList>
Of the
<asp:DropDownList runat="server" ID="ddlRepeatedOnThird">
<asp:ListItem Text="Month" Selected="True" Value="1"></asp:ListItem>
<asp:ListItem Text="3 Month" Value="3"></asp:ListItem>
<asp:ListItem Text="4 Month" Value="4"></asp:ListItem>
<asp:ListItem Text="6 Month" Value="6"></asp:ListItem>
<asp:ListItem Text="Year" Value="12"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</td>
<td align="left" style="width: 800px; border-bottom: solid 2px #000000;">
<asp:DataList runat="server" ID="DLResult" RepeatColumns="6" RepeatDirection="Horizontal">
<ItemTemplate>
<table border="0">
<tr>
<td>
<asp:Label runat="server" ID="lblMonth" Text='<%# Eval("Month") %>'>
</asp:Label>
<asp:Calendar runat="server" ID="cldnData"></asp:Calendar>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</div>
</form>
</body>
Defult2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
List<DateTime> lstResult;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
GetResult();
}
private void GetResult()
{
DateTime SDate = clndStart.SelectedDate;
DateTime EDate = clndEnd.SelectedDate;
TimeSpan DateDiff = EDate.Subtract(SDate);
int Month;
if (EDate.Year == SDate.Year)
{
Month = EDate.Month - SDate.Month;
}
else
{
Month = ((EDate.Year - SDate.Year) * 12) + EDate.Month - SDate.Month;
}
lstResult = new List<DateTime>();
DataTable dt = new DataTable();
dt.Columns.Add("Id", System.Type.GetType("System.String"));
dt.Columns.Add("Month", System.Type.GetType("System.String"));
dt.Columns.Add("Year", System.Type.GetType("System.String"));
for (int i = 0; i <= Month; i++)
{
DataRow dr = dt.NewRow();
dr["Id"] = dt.Rows.Count + 1;
dr["Month"] = SDate.AddMonths(i).ToString("MMM");
dr["Year"] = SDate.ToString("yyyy");
dt.Rows.Add(dr);
}
if (rbtnRepeated.Checked)
{
if (ddlRepeatedSecond.SelectedValue == "1" || ddlRepeatedSecond.SelectedValue == "7")
{
int Increment = Convert.ToInt32(ddlRepeatedFirst.SelectedValue);
Increment = Increment * Convert.ToInt32(ddlRepeatedSecond.SelectedValue);
for (int i = 0; i <= DateDiff.Days; i += Increment)
{
lstResult.Add(SDate.AddDays(i));
}
}
else
{
if (ddlRepeatedSecond.SelectedValue == "3")
{
for (int i = 0; i <= Month; i = i + Convert.ToInt32(ddlRepeatedFirst.SelectedValue))
{
if (SDate.AddMonths(i) > EDate)
break;
lstResult.Add(SDate.AddMonths(i));
}
}
else
{
}
}
}
else if (rbtnRepeatedOn.Checked)
{
for (int i = 0; i <= Month; i++)
{
SDate = i > 0 ? SDate.AddMonths(Convert.ToInt32(ddlRepeatedOnThird.SelectedValue)) : SDate.AddMonths(0);
if (SDate > EDate)
goto exit;
for (int j = 0; j < DateTime.DaysInMonth(SDate.Year, SDate.Month); j++)
{
if (SDate.Day > (7 * (Convert.ToInt32(ddlRepeatedOnFirst.SelectedValue) - 1)) && SDate.Day <= (7 * Convert.ToInt32(ddlRepeatedOnFirst.SelectedValue)) && Convert.ToInt32(SDate.DayOfWeek) == Convert.ToInt32(ddlRepeatedOnSecond.SelectedValue))
{
lstResult.Add(SDate);
SDate = SDate.AddDays(-j);
break;
}
else
SDate = SDate.AddDays(1);
if (SDate >= EDate)
goto exit;
}
}
exit: ;
}
DLResult.DataSource = dt;
DLResult.DataBind();
}
protected void clndStart_SelectionChanged(object sender, EventArgs e)
{
txtStartDate.Text = clndStart.SelectedDate.ToString();
}
protected void clndEnd_SelectionChanged(object sender, EventArgs e)
{
txtEndDate.Text = clndEnd.SelectedDate.ToString();
}
}
<body>
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left" style="width: 200px; border-right: solid 2px #000000; border-bottom: solid 2px #000000;">
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left">
Start Date :<br />
<asp:Calendar runat="server" ID="clndStart" OnSelectionChanged="clndStart_SelectionChanged">
</asp:Calendar>
<br />
<asp:TextBox runat="server" ID="txtStartDate" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left">
End Date :<br />
<asp:Calendar runat="server" ID="clndEnd" OnSelectionChanged="clndEnd_SelectionChanged">
</asp:Calendar>
<br />
<asp:TextBox runat="server" ID="txtEndDate" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left">
Recurrence :<br />
<asp:RadioButton ID="rbtnRepeated" runat="server" GroupName="repeat" Checked="true"
Text="Repeated" /><br />
<asp:DropDownList runat="server" ID="ddlRepeatedFirst">
<asp:ListItem Selected="True" Text="Every" Value="1"></asp:ListItem>
<asp:ListItem Text="Every Other" Value="2"></asp:ListItem>
<asp:ListItem Text="Every Third" Value="3"></asp:ListItem>
<asp:ListItem Text="Every Fourth" Value="4"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlRepeatedSecond">
<asp:ListItem Selected="True" Text="Day" Value="1"></asp:ListItem>
<asp:ListItem Text="Week" Value="7"></asp:ListItem>
<asp:ListItem Text="Month" Value="3"></asp:ListItem>
<asp:ListItem Text="Year" Value="4"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td align="left">
<asp:RadioButton ID="rbtnRepeatedOn" runat="server" GroupName="repeat" Text="Repeated On" /><br />
<asp:DropDownList runat="server" ID="ddlRepeatedOnFirst">
<asp:ListItem Selected="True" Text="First" Value="1"></asp:ListItem>
<asp:ListItem Text="Second" Value="2"></asp:ListItem>
<asp:ListItem Text="Third" Value="3"></asp:ListItem>
<asp:ListItem Text="Fourth" Value="4"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList runat="server" ID="ddlRepeatedOnSecond">
<asp:ListItem Text="Sunday" Value="0"></asp:ListItem>
<asp:ListItem Text="Monday" Selected="True" Value="1"></asp:ListItem>
<asp:ListItem Text="Tuesday" Value="2"></asp:ListItem>
<asp:ListItem Text="Wednesday" Value="3"></asp:ListItem>
<asp:ListItem Text="Thursday" Value="4"></asp:ListItem>
<asp:ListItem Text="Friday" Value="5"></asp:ListItem>
<asp:ListItem Text="Saturday" Value="6"></asp:ListItem>
</asp:DropDownList>
Of the
<asp:DropDownList runat="server" ID="ddlRepeatedOnThird">
<asp:ListItem Text="Month" Selected="True" Value="1"></asp:ListItem>
<asp:ListItem Text="3 Month" Value="3"></asp:ListItem>
<asp:ListItem Text="4 Month" Value="4"></asp:ListItem>
<asp:ListItem Text="6 Month" Value="6"></asp:ListItem>
<asp:ListItem Text="Year" Value="12"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</td>
<td align="left" style="width: 800px; border-bottom: solid 2px #000000;">
<asp:DataList runat="server" ID="DLResult" RepeatColumns="6" RepeatDirection="Horizontal">
<ItemTemplate>
<table border="0">
<tr>
<td>
<asp:Label runat="server" ID="lblMonth" Text='<%# Eval("Month") %>'>
</asp:Label>
<asp:Calendar runat="server" ID="cldnData"></asp:Calendar>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
</div>
</form>
</body>
Defult2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default2 : System.Web.UI.Page
{
List<DateTime> lstResult;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
GetResult();
}
private void GetResult()
{
DateTime SDate = clndStart.SelectedDate;
DateTime EDate = clndEnd.SelectedDate;
TimeSpan DateDiff = EDate.Subtract(SDate);
int Month;
if (EDate.Year == SDate.Year)
{
Month = EDate.Month - SDate.Month;
}
else
{
Month = ((EDate.Year - SDate.Year) * 12) + EDate.Month - SDate.Month;
}
lstResult = new List<DateTime>();
DataTable dt = new DataTable();
dt.Columns.Add("Id", System.Type.GetType("System.String"));
dt.Columns.Add("Month", System.Type.GetType("System.String"));
dt.Columns.Add("Year", System.Type.GetType("System.String"));
for (int i = 0; i <= Month; i++)
{
DataRow dr = dt.NewRow();
dr["Id"] = dt.Rows.Count + 1;
dr["Month"] = SDate.AddMonths(i).ToString("MMM");
dr["Year"] = SDate.ToString("yyyy");
dt.Rows.Add(dr);
}
if (rbtnRepeated.Checked)
{
if (ddlRepeatedSecond.SelectedValue == "1" || ddlRepeatedSecond.SelectedValue == "7")
{
int Increment = Convert.ToInt32(ddlRepeatedFirst.SelectedValue);
Increment = Increment * Convert.ToInt32(ddlRepeatedSecond.SelectedValue);
for (int i = 0; i <= DateDiff.Days; i += Increment)
{
lstResult.Add(SDate.AddDays(i));
}
}
else
{
if (ddlRepeatedSecond.SelectedValue == "3")
{
for (int i = 0; i <= Month; i = i + Convert.ToInt32(ddlRepeatedFirst.SelectedValue))
{
if (SDate.AddMonths(i) > EDate)
break;
lstResult.Add(SDate.AddMonths(i));
}
}
else
{
}
}
}
else if (rbtnRepeatedOn.Checked)
{
for (int i = 0; i <= Month; i++)
{
SDate = i > 0 ? SDate.AddMonths(Convert.ToInt32(ddlRepeatedOnThird.SelectedValue)) : SDate.AddMonths(0);
if (SDate > EDate)
goto exit;
for (int j = 0; j < DateTime.DaysInMonth(SDate.Year, SDate.Month); j++)
{
if (SDate.Day > (7 * (Convert.ToInt32(ddlRepeatedOnFirst.SelectedValue) - 1)) && SDate.Day <= (7 * Convert.ToInt32(ddlRepeatedOnFirst.SelectedValue)) && Convert.ToInt32(SDate.DayOfWeek) == Convert.ToInt32(ddlRepeatedOnSecond.SelectedValue))
{
lstResult.Add(SDate);
SDate = SDate.AddDays(-j);
break;
}
else
SDate = SDate.AddDays(1);
if (SDate >= EDate)
goto exit;
}
}
exit: ;
}
DLResult.DataSource = dt;
DLResult.DataBind();
}
protected void clndStart_SelectionChanged(object sender, EventArgs e)
{
txtStartDate.Text = clndStart.SelectedDate.ToString();
}
protected void clndEnd_SelectionChanged(object sender, EventArgs e)
{
txtEndDate.Text = clndEnd.SelectedDate.ToString();
}
}
No comments:
Post a Comment