public ActionResult PersonalCreate([Bind(Include = "Id,StartDate,EndDate,WorksId,AuditStatus,StaffNumber,Remark")] WorkManages workManages) { if (ModelState.IsValid) { string staffNumber = workManages.StaffNumber.Split(new char[] { '-' })[0]; /** * 对于每一个员工,他的排班在一入职的时候,一定会分配一个默认排班的,所以在进行部门排班或者个人排版的时候, * 这个员工一定已经有一条记录在WorkManages表当中,所以当进行部门排班或者个人排班的时候,只需要对这个员工的 * 排班信息进行更新就行了 * */ string tmpDepartmentId = (from x in db.Staffs where x.StaffNumber.Equals(staffNumber) select x.Department).Single(); List <WorkManages> tmpWorkManages = (from x in db.WorkManages where x.StaffNumber.Equals(staffNumber) && x.Date <= workManages.EndDate && x.Date >= workManages.StartDate select x).ToList(); //删除原来的在相同时间段内的排班情况 db.WorkManages.RemoveRange(tmpWorkManages); //插入新的排班情况 int days = workManages.EndDate.DayOfYear - workManages.StartDate.DayOfYear; for (int i = 0; i <= days; i++) { db.WorkManages.Add(new WorkManages() { WorksId = workManages.WorksId, AuditStatus = 1, Flag = false, //标示是针对个人的排班 StaffNumber = staffNumber, DepartmentId = tmpDepartmentId, Remark = workManages.Remark, Date = workManages.StartDate.AddDays(i), }); } db.SaveChanges(); return(RedirectToAction("PersonalIndex")); } ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString); ViewBag.WorksList = Generate.GetWorks(base.ConnectionString); return(View(workManages)); }
public ActionResult DepartmentCreate([Bind(Include = "Id,StartDate,EndDate,WorksId,AuditStatus,DepartmentId,Remark")] WorkManages workManages) { if (ModelState.IsValid) { List <string> StaffNumbers = (from x in db.Staffs where x.Department.Equals(workManages.DepartmentId) select x.StaffNumber).ToList(); WorkManages wm = db.WorkManages.Find(13); foreach (string tmpStaffNumber in StaffNumbers) { List <WorkManages> tmpWorkManages = (from x in db.WorkManages where x.StaffNumber.Equals(tmpStaffNumber) && x.Date <= workManages.EndDate && x.Date >= workManages.StartDate select x).ToList(); //删除原来的在相同时间段内的排班情况 db.WorkManages.RemoveRange(tmpWorkManages); //插入新的排班情况 int days = workManages.EndDate.DayOfYear - workManages.StartDate.DayOfYear; for (int i = 0; i <= days; i++) { db.WorkManages.Add(new WorkManages() { WorksId = workManages.WorksId, AuditStatus = 1, Flag = true, //标示是针对部门的排班 StaffNumber = tmpStaffNumber, DepartmentId = workManages.DepartmentId, Remark = workManages.Remark, Date = workManages.StartDate.AddDays(i), }); } db.SaveChanges(); } return(RedirectToAction("DepartmentIndex")); } ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString); ViewBag.WorksList = Generate.GetWorks(base.ConnectionString); return(View(workManages)); }
public ActionResult PersonalCreate() { ViewBag.DepartmentsList = Generate.GetDepartments(base.ConnectionString); ViewBag.WorksList = Generate.GetWorks(base.ConnectionString); return(View()); }