/// <summary>
        /// 请假类型变动时,进行查询,提示
        /// </summary>
        /// <param name="_FLeaveType"></param>
        /// <param name="Row"></param>
        /// <returns></returns>
        private string QueryLeftDays(string _FLeaveType, int Row, bool isInit)
        {
            string _FNAME = this.View.Model.GetValue("FNAME", Row) == null ? "0" : (this.View.Model.GetValue("FNAME", Row) as DynamicObject)["Id"].ToString();

            if (_FNAME == "0")
            {
                if (!isInit)
                {
                    this.View.ShowMessage("姓名为空,请先选择请假人姓名!");
                }
                return("");
            }
            LeaveFactory factory = new LeaveFactory();
            var          leave   = factory.MakeLeave(Context, int.Parse(_FLeaveType), long.Parse(_FNAME), 0);

            return(leave.GetLeftLeaveMessage());
        }
        private void CreateEntryRow(long empId, int rowNum)
        {
            this.Model.CreateNewEntryRow("FEntity");
            string type  = CZ_GetValue("FLeaveType");
            string year  = CZ_GetValue("FYear");
            var    leave = new LeaveFactory().MakeLeave(Context, int.Parse(type), empId, 0);
            var    data  = leave.GetReportData();

            if (data != null)
            {
                this.Model.SetValue("FEYear", year, rowNum);
                this.Model.SetValue("FELeaveType", data.LeaveType, rowNum);
                this.Model.SetValue("FEName", data.Name, rowNum);
                this.Model.SetValue("FEAllowDays", data.AllowDays, rowNum);
                this.Model.SetValue("FCurrDays", data.CurrDays, rowNum);
                this.Model.SetValue("FLastYearLeft", data.LastYearLeft, rowNum);
                this.Model.SetValue("FLeftDays", data.LeftDays, rowNum);
                this.Model.SetValue("FSurplusDays", data.SurplusDays, rowNum);
            }
        }
        /// <summary>
        /// 提交前验证请假天数是否合理
        /// </summary>
        /// <returns></returns>
        private bool IsPass()
        {
            var _FEntity = this.View.Model.DataObject["FEntity"] as DynamicObjectCollection;

            //验证请假天数不为0
            foreach (var row in _FEntity)
            {
                if ("0".Equals(row["FDayNum"].ToString()))
                {
                    this.View.ShowMessage("请假提交失败!\n原因:请假天数需要大于0!");
                    return(false);
                }
            }
            int    _FLeaveType = 0;
            double _FDayNum    = 0;
            long   _FName      = 0;

            LeaveFactory factory = new LeaveFactory();

            foreach (var _Row in _FEntity)
            {
                _FName      = long.Parse((_Row["FName"] as DynamicObject)["Id"].ToString());
                _FLeaveType = int.Parse(_Row["FLeaveType"].ToString());
                _FDayNum    = double.Parse(_Row["FDayNum"].ToString());
                if (_FName == 0)
                {
                    this.View.ShowMessage("请假提交失败!\n原因:请假人姓名不能为空!");
                    return(false);
                }
                factory.AppendLeave(Context, _FLeaveType, _FName, _FDayNum);
            }
            string msg = "";

            if (!factory.VadidateLeave(ref msg))
            {
                this.View.ShowMessage(msg);
                return(false);
            }

            return(true);
        }