Exemple #1
0
        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"));
        }
Exemple #2
0
        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"));
            }
        }