环境:net framework 4.5.2
/// <summary>
/// 初始化信息
/// </summary>
/// <returns></returns>
public string Init(int? _week) {
var userinfo = Base.GetUserInfo();
//得到当前周
//创建默认周
var week = 0;
//创建当前时间
var currentDate = DateTime.Now;
if (_week != null) {
//如果传递的当前周 - 说明了周数不一定准确 - 比如年底要跨年 2021本年是53周,在前端点击下一周是54周(实际代表是2022年第二周),所以这里需要转换
currentDate = DateTimeConvert.GetDateByWeek(_week ?? 0);
week = DateTimeConvert.GetWeekIndexByYear(currentDate);
} else {
currentDate = DateTimeConvert.GetMondayDate();
week = Tool.DateTimeConvert.GetWeekIndexByYear(DateTime.Now);
}
//判断本周是否有数据
var model = dal.GetByWeek(week);
if (model == null) {
model = new Model.WeeklyPlan() {
WorkID = Guid.NewGuid().ToString(),
StartDate = DateTime.Parse(currentDate.ToString("yyyy-MM-dd")),
EndDate = DateTime.Parse(currentDate.AddDays(5).ToString("yyyy-MM-dd")),
UserID = userinfo.UserID,
Week = week,
Year = currentDate.Year.ToString()
};
if (!dal.Add(model)) {
return Base.GetErrorStr("初始化失败,请稍后在试!");
}
}
if (model is Model.WeeklyPlan_Expand a) {
for (int i = 0; i < a.Afternoon.GetType().GetProperties().Length; i++) {
//写属性的同时插入时间
DateTime dates = currentDate.AddDays(i);
a.DateSort[i] = dates.ToString("yyyy-MM-dd");
a.Morning.GetType().GetProperties()[i].SetValue(a.Morning, dalWeeklyPlanItem.GetByWorkIDOrDateList(model.WorkID, dates, true));
a.Afternoon.GetType().GetProperties()[i].SetValue(a.Afternoon, dalWeeklyPlanItem.GetByWorkIDOrDateList(model.WorkID, dates, false));
}
return Base.GetSuccessObj(a);
} else {
return Base.GetSuccessObj(null);
}
}
public class WeeklyPlan_Expand {
public WeeklyPlan_Expand() {
DateSort = new string[6];
Afternoon = new DateDay();
Morning = new DateDay();
}
[SqlSugar.SugarColumn(IsIgnore = true)]
public DateDay Morning { get; set; }
[SqlSugar.SugarColumn(IsIgnore = true)]
public DateDay Afternoon { get; set; }
[SqlSugar.SugarColumn(IsIgnore = true)]
public string[] DateSort { get; set; }
}
public class DateDay {
/// <summary>
/// 星期一
/// </summary>
public List<Model.WeeklyPlanItem> Monday { get; set; }
/// <summary>
/// 星期二
/// </summary>
public List<Model.WeeklyPlanItem> Tuesday { get; set; }
/// <summary>
/// 星期三
/// </summary>
public List<Model.WeeklyPlanItem> Wednesday { get; set; }
/// <summary>
/// 星期四
/// </summary>
public List<Model.WeeklyPlanItem> Thursday { get; set; }
/// <summary>
/// 星期五
/// </summary>
public List<Model.WeeklyPlanItem> Friday { get; set; }
/// <summary>
/// 星期六
/// </summary>
public List<Model.WeeklyPlanItem> Saturday { get; set; }
}