Exemple #1
0
        /// <summary>
        /// 請假系統
        /// </summary>
        /// <returns></returns>
        public ActionResult CreateLeave()
        {
            //建立ViewModel
            VMCreateLeave vmCreateLeave = new VMCreateLeave();

            //取VM所需資料

            //取得該部門所有員工
            List <VMEmployee> emplist =
                (new VMEmployee()).getlist(db.tEmployees.Where(m => m.fDepartment == Department).ToList());

            //該名員工
            vmCreateLeave.employee = emplist.Where(m => m.id == EmployeeId).FirstOrDefault();

            //該員工的請假統計
            vmCreateLeave.leavecountList =
                db.tLeavecounts.Where(m => m.fEmployeeId == EmployeeId).ToList();

            //該部門所有員工
            vmCreateLeave.employeelist = emplist;

            //假別列表
            vmCreateLeave.leavesortList = db.tleavesorts.ToList();

            return(View(vmCreateLeave));
        }
Exemple #2
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"));
        }
        public ActionResult CreateLeave()
        {
            //建立ViewModel
            VMCreateLeave vmCreateLeave = new VMCreateLeave();

            //取VM所需資料

            //取得部門
            List <VMEmployee> emplist = new List <VMEmployee>();

            foreach (tEmployee emp in db.tEmployees.Where(m => m.fDepartment == Department).ToList())
            {
                emplist.Add(new VMEmployee().convert(emp));
            }
            //該名員工
            vmCreateLeave.employee = emplist.Where(m => m.id == EmployeeId).FirstOrDefault();
            //該員工的請假統計
            vmCreateLeave.leavecountList =
                db.tLeavecounts.Where(m => m.fEmployeeId == EmployeeId).ToList();
            //該部門所有員工
            vmCreateLeave.employeelist = emplist;

            return(View(vmCreateLeave));
        }