环境: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; }}
