I'm doing a timesheet web base codes in C#. Our work week is from Thurs to Wed. I'm trying to find the best way how to find the Week start & week end base on users input
If user input of any date value, the function should return the date of weekstart & the date of week end.
For example, if user input March 8, 2009, the function will automatically return: March 5 date as week start, & March 11 date as week end
I wrote a long function as below. Does anyone know of the shorter way?
Thanks
DateTime beginweek = DateTime.Now;
DateTime enterdate = DateTime.Now;enterdate = Convert.ToDateTime(txtDate.Text);if (enterdate.DayOfWeek.ToString() == "Wednesday")
{
beginweek = enterdate.AddDays(-2 *
Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(-3 + Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Tuesday")
{
beginweek = enterdate.AddDays(-7 + Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(-1 + Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Monday")
{
beginweek = enterdate.AddDays(-4 * Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(2 * Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Sunday")
{
beginweek = enterdate.AddDays(-3 + Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(3 + Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Saturday")
{
beginweek = enterdate.AddDays(-8 + Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(-2 + Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Friday")
{
beginweek = enterdate.AddDays(-6 + Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(1 * Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}
else if (enterdate.DayOfWeek.ToString() == "Thursday")
{
beginweek = enterdate.AddDays(-4 + Convert.ToInt16(enterdate.DayOfWeek));DateTime endweek = enterdate.AddDays(2 + Convert.ToInt16(enterdate.DayOfWeek));
enterbeginweek.Text = beginweek.ToShortDateString();
enterendweek.Text = endweek.ToShortDateString();
}