public async Task <ActionResult> ApplyLeaveInfo(LeaveInfoModel model)
        {
            var result = new JsonModel();

            // 数据有误
            if (!ModelState.IsValid)
            {
                result.GetError(ModelState);
                return(Json(result));
            }

            #region //插入业务数据
            LeaveInfo leaveInfo = null;
            if (model.Id != 0)
            {
                leaveInfo = await LeaveInfoRepository.GetByIdAsync(model.Id);
            }
            if (leaveInfo == null)
            {
                leaveInfo = new LeaveInfo();
            }
            Mapper.Map(model, leaveInfo);
            leaveInfo.CommonStatus = CommonStatus.Disabled;
            await LeaveInfoRepository.SaveAsync(leaveInfo);

            #endregion

            #region 处理流程
            await DealProcess(model, leaveInfo.Id, result, "Days_" + leaveInfo.Days);

            #endregion

            return(Json(result));
        }
        private async Task <WfApplyBase> GetModel(TableSource src, long id, JsonModel result)
        {
            WfApplyBase model = null;

            switch (src)
            {
            case TableSource.LeaveInfo:
                model = new LeaveInfoModel()
                {
                    Days      = 1,
                    StartTime = DateTime.Now.AddDays(1),
                    EndTime   = DateTime.Now.AddDays(2)
                };
                break;

            case TableSource.SealInfo:
                model = new SealInfoModel()
                {
                    ApplyUserName = User.UserInfo.RealName,
                    ApplyTime     = DateTime.Now
                };
                break;

            case TableSource.MeetingRoomInfo:
                model = new MeetingRoomInfoModel()
                {
                    UsedTime  = DateTime.Now,
                    ApplyTime = DateTime.Now,
                    ApplyName = User.UserInfo.RealName
                };
                break;

            default:
                break;
            }

            if (id != 0)
            {
                var sourceData = await WorkflowSvc.GetSourceAsync(src, id);

                if (sourceData == null)
                {
                    result.message = $"找不到Id为{model.Id}的{src}!";
                    return(null);
                }
                Mapper.Map(sourceData, model);
            }

            return(model);
        }