public static ShowWeeklyPlan CreateShowWeeklyPlan(WeekSummary weekSummary, WeekTarget weekTarget, Department department) { var showWeeklyPlan = new ShowWeeklyPlan(); if (!weekSummary.Null()) { showWeeklyPlan.ID = weekSummary.ID; showWeeklyPlan.Description = weekSummary.Description; showWeeklyPlan.CreateTime = weekSummary.CreateTime.ToString("yy-MM-dd HH:mm"); showWeeklyPlan.TargetTime = weekSummary.WeekNum; } if (!weekTarget.Null()) { showWeeklyPlan.Target = weekTarget.Target ?? " "; showWeeklyPlan.Progress = weekTarget.Progress; showWeeklyPlan.TargetTime = weekTarget.WeekNum; } if (!department.Null()) { showWeeklyPlan.DepartmentName = department.Name; } DateTime beginTime; DateTime endTime; DateTimeUtility.GetWeekDays(showWeeklyPlan.TargetTime, out beginTime, out endTime); showWeeklyPlan.BeginTime = beginTime.ToString("yy-MM-dd"); showWeeklyPlan.EndTime = endTime.ToString("yy-MM-dd"); return showWeeklyPlan; }
public ShowWeeklyPlan GetLastWeekPlan(Guid accountId) { var weekNum = DateTimeUtility.GetWeekOfYear(DateTime.Now); using (var workContext = new DefaultContext()) { var workCard = ( from card in workContext.WorkCards join department in workContext.Departments on card.DepartmentId equals department.ID where card.AccountId == accountId select new { card, department }).FirstOrDefault(); if (workCard.Null()) { return new ShowWeeklyPlan(); } var weeklyPaln = ( from target in workContext.WeekTargets let summ = workContext.WeekSummaries.FirstOrDefault(x => x.ID == target.ID) where target.DepartmentId == workCard.card.DepartmentId && target.WeekNum == weekNum select new { target, summ }).FirstOrDefault(); if (weeklyPaln.Null()) { var target = new WeekTarget(); target.ID = Guid.NewGuid(); target.CreateTime = DateTime.Now; target.DepartmentId = (Guid)workCard?.department.ID; target.WeekNum = weekNum; target.Target = "本周日志还没写!!!"; target.Progress = 100; workContext.WeekTargets.Add(target); workContext.SaveChanges(); } return ShowWeeklyPlan.CreateShowWeeklyPlan(weeklyPaln?.summ, weeklyPaln?.target, workCard?.department); } }