public ActionResult AddWorkOverTime(string id) //在修改时传递的为contractid
        {
            if (id == "-1")                            //-1为添加
            {
                int year = DateTime.Now.Year;
                var y    = X.GetCmp <NumberField>("Year");
                y.Value = year;
                return(View());
            }
            else//否则为修改
            {
                V_HR_WorkOverTime item = (from o in entities.V_HR_WorkOverTime
                                          where o.ID == id
                                          select o).First();

                var p = X.GetCmp <Panel>("Select");
                p.Hidden = true;


                return(View(item));
            }
        }
        public ActionResult AddOrEditWorkOverTime(V_HR_WorkOverTime wot)
        {
            DirectResult      r         = new DirectResult();
            T_HR_WorkOverTime wotupdate = entities.T_HR_WorkOverTime.Find(wot.ID);

            if (wotupdate == null)//为空为添加
            {
                var list = from o in entities.T_HR_WorkOverTime
                           where o.StaffID == wot.StaffID && o.Year == wot.Year
                           select o;
                if (!list.Any())
                {
                    T_HR_WorkOverTime wotadd = new T_HR_WorkOverTime();
                    wotadd.ID              = Guid.NewGuid().ToString();
                    wotadd.StaffID         = wot.StaffID;
                    wotadd.Year            = wot.Year;
                    wotadd.LastYear        = wot.LastYear;
                    wotadd.CurrentYear     = wot.CurrentYear;
                    wotadd.CurrentYearSum  = wot.LastYear + wot.CurrentYear;
                    wotadd.Personal        = wot.Personal;
                    wotadd.Company         = wot.Company;
                    wotadd.CurrentYearLast = wot.LastYear + wot.CurrentYear - wot.Personal - wot.Company;
                    wotadd.Valid           = true;
                    wotadd.CreaterName     = new LoginUser().EmployeeId;
                    wotadd.CreateTime      = DateTime.Now;
                    entities.T_HR_WorkOverTime.Add(wotadd);
                    try
                    {
                        entities.SaveChanges();
                        r.Success = true;
                        X.Msg.Alert("提示", "保存成功!", new JFunction {
                            Fn = "closewindow"
                        }).Show();
                    }
                    catch (Exception e)
                    {
                        X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                            Fn = "closewindow"
                        }).Show();
                        r.Success = false;
                    }
                }
                else
                {
                    X.Msg.Alert("警告", "此员工本年可调休加班时数记录已存在,不可重复添加!").Show();
                    r.Success = false;
                }
            }
            else//否则为修改
            {
                wotupdate.Year            = wot.Year;
                wotupdate.LastYear        = wot.LastYear;
                wotupdate.CurrentYear     = wot.CurrentYear;
                wotupdate.CurrentYearSum  = wot.LastYear + wot.CurrentYear;
                wotupdate.Personal        = wot.Personal;
                wotupdate.Company         = wot.Company;
                wotupdate.CurrentYearLast = wot.LastYear + wot.CurrentYear - wot.Personal - wot.Company;
                wotupdate.EditorName      = new LoginUser().EmployeeId;
                wotupdate.EditeTime       = DateTime.Now;
                try
                {
                    entities.SaveChanges();
                    r.Success = true;
                    X.Msg.Alert("提示", "保存成功!", new JFunction {
                        Fn = "closewindow"
                    }).Show();
                }
                catch (Exception e)
                {
                    X.Msg.Alert("警告", "数据保存失败!<br /> note:" + e.Message, new JFunction {
                        Fn = "closewindow"
                    }).Show();
                    r.Success = false;
                }
            }
            return(r);
        }