public ActionResult Edit([Bind(Include = "StaffNumber,StartDateTime,EndDateTime,Hours,Reason,Remark")] DaysOffApplies daysOffApplies)
        {
            if (ModelState.IsValid)
            {
                OnDutyHours onDutyHours = db.OnDutyHours.Find(daysOffApplies.StaffNumber);



                daysOffApplies.Date = daysOffApplies.StartDateTime.Date;
                //          daysOffApplies.Hours = (daysOffApplies.EndDateTime - daysOffApplies.StartDateTime).Hours;

                //更新这个员工的可用小时数

                if (daysOffApplies.Hours > onDutyHours.AvailableHours)
                {
                    ModelState.AddModelError("", "申请的调休数超过可用值班数!");
                    return(View(daysOffApplies));
                }
                db.Entry(onDutyHours).State    = EntityState.Modified;
                db.Entry(daysOffApplies).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            List <SelectListItem> item = (from s in db.BillProperties
                                          where s.BillSort.Equals("35")
                                          select new SelectListItem()
            {
                Value = s.Type,
                Text = s.Type + s.TypeName,
            }).ToList();

            ViewBag.List = item;
            return(View(daysOffApplies));
        }
        public ActionResult Create([Bind(Include = "BillType,StaffNumber,Hours,StartDateTime,EndDateTime,Reason,AvailableHours,Remark")] DaysOffApplies daysOffApplies)
        {
            List <SelectListItem> item = (from s in db.BillProperties
                                          where s.BillSort.Equals("35")
                                          select new SelectListItem()
            {
                Value = s.Type,
                Text = s.Type + s.TypeName,
            }).ToList();

            ViewBag.List = item;
            if (ModelState.IsValid)
            {
                OnDutyHours onDutyHours = db.OnDutyHours.Find(daysOffApplies.StaffNumber);
                if (onDutyHours == null)
                {
                    ModelState.AddModelError("", "该员工没有可用的值班时数!");
                    return(View(daysOffApplies));
                }
                daysOffApplies.BillNumber = GenerateBillNumber(daysOffApplies.BillType);
                daysOffApplies.Date       = daysOffApplies.StartDateTime.Date;
                //     daysOffApplies.Hours = (daysOffApplies.EndDateTime - daysOffApplies.StartDateTime).Hours;
                //更新这个员工的可用小时数

                if (daysOffApplies.Hours > onDutyHours.AvailableHours)
                {
                    ModelState.AddModelError("", "申请的调休数超过可用值班数!");
                    return(View(daysOffApplies));
                }
                onDutyHours.AvailableHours -= daysOffApplies.Hours;
                db.Entry(onDutyHours).State = EntityState.Modified;


                db.DaysOffApplies.Add(daysOffApplies);
                byte status = AuditApplicationEvection(daysOffApplies);
                //没有找到该单据的审批模板
                if (status == 7)
                {
                    ViewBag.alertMessage = true;
                    return(View(daysOffApplies));
                }
                //需要对原表做出的修改
                daysOffApplies.AuditStatus = status;
                try
                {
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    var tmp = e;
                }
                return(RedirectToAction("Index"));
            }

            return(View(daysOffApplies));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            DaysOffApplies daysOffApplies = db.DaysOffApplies.Find(id);
            OnDutyHours    onDutyHours    = db.OnDutyHours.Find(daysOffApplies.StaffNumber);

            onDutyHours.AvailableHours += daysOffApplies.Hours;
            db.Entry(onDutyHours).State = EntityState.Modified;
            db.DaysOffApplies.Remove(daysOffApplies);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public JsonResult GetAvailableHours(string StaffNumber)
        {
            OnDutyHours hours = db.OnDutyHours.Find(StaffNumber);

            if (hours == null)
            {
                return(Json(new { hours = 0 }));
            }
            else
            {
                return(Json(new { hours = hours.AvailableHours }));
            }
        }