You have to add Validation to the enrolled date which is not greater than today date.
protected void btnOk_Click(object sender, EventArgs e)
{
DateTime dt1 = Convert.ToDateTime(txtFromDate.Text);
DateTime dt2 = DateTime.Now;
int days = 0;
int month = 0;
int WorkingDays = 0;
int tempday = 0;
if (dt1.Year != dt2.Year)
{
if (dt1.Year < dt2.Year)
{
for (int i = dt1.Year; i <= dt2.Year - 1; i++)
{
days = days + 365;
month = month + 12;
}
}
if (dt1.Month < dt2.Month)
{
for (int i = dt1.Month; i <= dt2.Month - 1; i++)
{
days = days + Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i));
month = month + 1;
if (tempday == 0)
{
tempday = Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i));
}
if (Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i)) == 31)
{
WorkingDays = WorkingDays + (tempday - 10);
}
else
{
WorkingDays = WorkingDays + (tempday - 8);
}
}
days = days + Convert.ToInt32(dt2.Day);
}
else
{
days = days + Convert.ToInt32(dt2.Day) - Convert.ToInt32(dt1.Day);
}
}
else
{
if (dt1.Month < dt2.Month)
{
for (int i = dt1.Month; i <= dt2.Month - 1; i++)
{
days = days + Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i));
month = month + 1;
tempday = Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i));
if (Convert.ToInt32(DateTime.DaysInMonth(dt1.Year, i)) == 31)
{
WorkingDays = WorkingDays + (tempday - 10);
}
else
{
WorkingDays = WorkingDays + (tempday - 8);
}
}
days = days + Convert.ToInt32(dt2.Day);
}
else
{
days = Convert.ToInt32(dt2.Day) - Convert.ToInt32(dt1.Day);
}
}
lbl.Text = "Total Days: " + (days).ToString() + " Month: " + (month).ToString() + " Days: " + (Convert.ToInt32(dt2.Day) - Convert.ToInt32(dt1.Day)).ToString() + " Working Days :" + WorkingDays;
}