public static void meanMethod(int userId, DateTime newIntendingFinishTime)
{
//查询所有时间
List<Tasks> checkShowTasks = TasksManager.SelectAllTasksToIntendingFinishTime(userId, newIntendingFinishTime);
foreach (Tasks t in checkShowTasks)
{
DateTime dtc = t.IntendingFinishTime;
//如果时间在凌晨
if (dtc.Hour < 9)
{
//掉用更新方法
checkTime(userId, dtc);
}
//如果时间在上午
else if (dtc.Hour > 8 && dtc.Hour < 12)
{
if (dtc.DayOfWeek.Equals(DayOfWeek.Sunday))
{
//掉用更新方法
checkTime(userId, dtc);
}
else if (dtc.DayOfWeek.Equals(DayOfWeek.Saturday))
{
//掉用更新方法
checkTime(userId, dtc);
}
else
{
break;
}
}
//如果时间在中午
else if (dtc.Hour > 11 && dtc.Hour < 13)
{
//掉用更新方法
checkTime(userId, dtc);
}
//如果时间在下午
else if (dtc.Hour > 12 && dtc.Hour < 18)
{
if (dtc.DayOfWeek.Equals(DayOfWeek.Sunday))
{
//掉用更新方法
checkTime(userId, dtc);
}
else if (dtc.DayOfWeek.Equals(DayOfWeek.Saturday))
{
//掉用更新方法
checkTime(userId, dtc);
}
else
{
break;
}
}
//如果时间在下班以后
else if (dtc.Hour > 17)
{
//掉用更新方法
checkTime(userId, dtc);
}
}
}public static void checkTime(int userId, DateTime IntendingDateTime)
{
DateTime newIntendingFinishTime = IntendingDateTime; //小时数
int timeHours = 0;
//天数
int timeDay = 0;
//需要的小时数
int needTime = 0; //为上班时间以前的情况--》9点以前
if (newIntendingFinishTime.Hour < 9)
{
//为周日的情况
if (newIntendingFinishTime.DayOfWeek.Equals(DayOfWeek.Sunday))
{
//如果目标日期是上午(有三种情况0点、1点、2点)
if (newIntendingFinishTime.Hour < 3)
{
//得到的小时数
timeHours = newIntendingFinishTime.Hour + 9;
//增加的天数
timeDay = 1;
//需要的小时数
needTime = timeDay * 24 + timeHours;
}
//如果目标日期是下午(有五种情况3点、4点、5点、6点、7点)
else if (newIntendingFinishTime.Hour > 2 && newIntendingFinishTime.Hour < 8)
{
//得到的小时数
timeHours = newIntendingFinishTime.Hour + 10;
//增加的天数
timeDay = 1;
//需要的小时数
needTime = timeDay * 24 + timeHours;
}
//如果目标日期是第二天
else
{
//得到的小时数
timeHours = 9;
//增加的天数
timeDay = 2;
//需要的小时数
needTime = timeDay * 24 + timeHours;
}
//批量修改
int upateIrregular = TasksManager.UpdateAllTasksByTime(userId, needTime, newIntendingFinishTime); //查询所有时间
meanMethod(userId, newIntendingFinishTime);
}
}
}为什么没有达到我想要的效果,我想要的效果是,判断时间,如果不合法,所有的时间都推移
老大们。。这个问题 好几天了。。我也试了很多方法了。。拜托。。求助啊。。
http://topic.csdn.net/u/20110115/16/54c87c2a-7857-48f9-af31-7c573abac929.html?seed=1910296358&r=71270701#r_71270701
插入一条数据(有任务需要时间)--》批量更新之后的数据(根据插入任务的需要时间)
--》判断时间是否合法--》合法通过验证下一条,不合法修改当前任务批量更新之后的任务举一个例子(可能会比较晕啊,因为我也晕):
第一条任务 起名为 A、第二条任务 起名为 B、三条任务 起名为 C、第四条任务 起名为 D在A B任务之间新增加一个任务, B、C、D 的时间都修改 如果B的时间到了周六则 B、C、D 天数都增加2又如果修改之后的C为周日 C、D天数都增加1最好能给我写一个例子,谢谢了。