This should work:
DateTime tempStart = StartDate;
var list = new List<Splitdate>();
for (DateTime date = StartDate; date.Date <= EndDate.Date; date = date.AddDays(1))
{
if (day.DayOfWeek == DayOfWeek.Saturday)
{
var temp = new Splitdate();
temp.Fromdate = tempStart;
temp.Todate = date.AddDays(-1);
list.Add(temp);
tempStart.AddDays(2);
}
}
if (tempStart <= EndDate)
{
var temp = new Splitdate();
temp.Fromdate = tempStart;
temp.Todate = EndDate;
list.Add(temp);
}
DateTime has a built in DayOfWeek property. Loop through the days from the Fromdate to the Todate and add to a list based on the DayOfWeek value.