public ActionResult CreateLeave(VMCreateLeave vMCLeave) { //請假 tLeave tLeave = new tLeave(); tLeave.fEmployeeId = vMCLeave.employee.id; tLeave.fSort = vMCLeave.leavesort; tLeave.fApplyDate = DateTime.Now; tLeave.fActiveDate = vMCLeave.start; tLeave.fEndDate = vMCLeave.end; tLeave.fTimeCount = vMCLeave.timecount; tLeave.fReason = vMCLeave.reason; db.tLeaves.Add(tLeave); db.SaveChanges(); //簽核表 tSignoff tSignoff = new tSignoff(); tSignoff.fLeaveId = int.Parse(db.tLeaves .OrderByDescending(p => p.fId) .Select(r => r.fId) .First().ToString()); tSignoff.fSupervisorId = Convert.ToInt32(vMCLeave.supervisorId); tSignoff.fApplyClass = vMCLeave.leavesort; tSignoff.fStartdate = DateTime.Now; tSignoff.fEnddate = vMCLeave.start; db.tSignoffs.Add(tSignoff); db.SaveChanges(); return(RedirectToAction("AttendIndex")); }
public ActionResult CreateLeave(VMLeave leave) { VMEmployee Emp = getLoginEmpData(); //檢查時數是否超過 var checkLeave = (new CLeaveHelper()).checkLeavehour(Emp.id, leave.leavesort, leave.timecount); if (checkLeave.isPass) { //請假儲存 tLeave tLeave = new tLeave(); tLeave.fEmployeeId = Emp.id; tLeave.fSort = leave.leavesort; tLeave.fApplyDate = DateTime.Now; tLeave.fActiveDate = leave.start; tLeave.fEndDate = leave.end; tLeave.fTimeCount = leave.timecount; tLeave.fReason = leave.reason; db.tLeaves.Add(tLeave); db.SaveChanges(); //簽核表 tSignoff tSignoff = new tSignoff(); tSignoff.fLeaveId = int.Parse(db.tLeaves .OrderByDescending(p => p.fId) .Select(r => r.fId) .First().ToString()); tSignoff.fSupervisorId = leave.supervisorId; tSignoff.fApplyClass = leave.leavesort; tSignoff.fStartdate = DateTime.Now; tSignoff.fEnddate = leave.start; db.tSignoffs.Add(tSignoff); db.SaveChanges(); //通知 //tNotify notify = new tNotify(); //notify.fEmployeeId = Convert.ToInt32(leave.supervisorId); //notify.fTitle = "員工請假申請通知"; //notify.fContent = "員工 " + Emp.name + " 申請" + leave.leavesort; //notify.fType = 0; //notify.fTime = DateTime.Now; //notify.fSort = leave.leavesort; //db.tNotifies.Add(notify); //db.SaveChanges(); TempData["Attend_msg"] = leave.leavesort + " 申請成功"; return(RedirectToAction("AttendIndex", "Attend")); } else { TempData["Attend_err_msg"] = checkLeave.err_msg; return(RedirectToAction("LeaveIndex", "Attend_Leave")); } }