예제 #1
0
        public JsonResult VersionDetailEdit(IEnumerable <ApplyStageVersionDetailWrap> ajaxData)
        {
            if (ajaxData == null)
            {
                return(Json(new { SaveResult = false }));
            }

            //从数据库中把Stages 全部读取出来
            IEnumerable <ApplyStagesEntity> applyStages = repository.ApplyStages;
            //将要存储到数据库中的List
            List <ApplyStageVersionDetailEntity> versionDetails = new List <ApplyStageVersionDetailEntity>();
            ApplyStagesEntity currentStage = null;

            //将列表按父阶段的StageNo进行排序
            ajaxData = ajaxData.OrderBy(w => w.ParentVersionDetail.StageNo);
            foreach (ApplyStageVersionDetailWrap versionDetailWrap in ajaxData)
            {
                currentStage = applyStages.Single(a => a.StageNo == versionDetailWrap.ParentVersionDetail.StageNo);
                versionDetailWrap.ParentVersionDetail.DetailID     = Guid.NewGuid();
                versionDetailWrap.ParentVersionDetail.StageNameEn  = currentStage.StageNameEn;
                versionDetailWrap.ParentVersionDetail.ChildStage   = currentStage.ChildStage;
                versionDetailWrap.ParentVersionDetail.ParentNo     = currentStage.ParentNo;
                versionDetailWrap.ParentVersionDetail.StatusOption = currentStage.StatusOption;
                versionDetailWrap.ParentVersionDetail.BeginOption  = currentStage.BeginOption;
                versionDetailWrap.ParentVersionDetail.EndOption    = currentStage.EndOption;

                foreach (ApplyStageVersionDetailEntity childDetail in versionDetailWrap.ChildVersionDetails)
                {
                    currentStage = applyStages.Single(a => a.StageNo == childDetail.StageNo);


                    childDetail.DetailID     = Guid.NewGuid();
                    childDetail.StageNameEn  = currentStage.StageNameEn;
                    childDetail.ChildStage   = currentStage.ChildStage;
                    childDetail.ParentNo     = currentStage.ParentNo;
                    childDetail.StatusOption = currentStage.StatusOption;
                    childDetail.BeginOption  = currentStage.BeginOption;
                    childDetail.EndOption    = currentStage.EndOption;
                }

                versionDetails.Add(versionDetailWrap.ParentVersionDetail);
                versionDetails.AddRange(versionDetailWrap.ChildVersionDetails);
            }

            repository.SaveApplyStageVersionDetails(versionDetails);

            return(Json(new { SaveResult = true }));
        }
예제 #2
0
 /// <summary>
 /// 将ApplyStageEntity 转换为 ApplyStageVersionDetailEntity
 /// </summary>
 /// <param name="detailID">DetailID</param>
 /// <param name="versionID">VersionID</param>
 /// <param name="stageEntity">ApplyStageEntity的数据</param>
 /// <returns></returns>
 public ApplyStageVersionDetailEntity TranStageToDetail(Guid detailID, Guid versionID, ApplyStagesEntity stageEntity)
 {
     return(new ApplyStageVersionDetailEntity
     {
         DetailID = detailID,
         VersionID = versionID,
         StageNo = stageEntity.StageNo,
         StageName = stageEntity.StageName,
         StageClass = stageEntity.StageClass,
         ParentNo = stageEntity.ParentNo,
         IsForbid = stageEntity.IsForbid,
         StatusOption = stageEntity.StatusOption,
         BeginOption = stageEntity.BeginOption,
         EndOption = stageEntity.EndOption,
         BeginDate = stageEntity.BeginDate,
         EndDate = stageEntity.EndDate,
         IsDateSameWithParent = stageEntity.IsDateSameWithParent,
         ChildStage = stageEntity.ChildStage,
         ResponseRole = stageEntity.ResponseRole,
         IsCalBeginDate = stageEntity.IsCalBeginDate,
         IsCalEndDate = stageEntity.IsCalEndDate,
         CanForbid = stageEntity.CanForbid,
         CanChangeDate = stageEntity.CanChangeDate,
         CanChangeName = stageEntity.CanChangeName,
         Remark = stageEntity.Remark
     });
 }