コード例 #1
0
        public ViewDetailViewModel ViewDetail(DetailRequestViewModel detailRequest)
        {
            #region 參數宣告
            ViewDetailViewModel  viewDetail          = new ViewDetailViewModel();
            IActorSettingService actorSettingService = new ActorSettingService();
            _BaseDetailRequestViewModel.EnumActiveType enumActiveType;
            #endregion

            #region 流程

            if (!_authState.IsAuth)
            {
                throw new Exception(_authState.AuthDescription);
            }

            // 參數驗證
            VerifyParams(detailRequest);

            try
            {
                enumActiveType = detailRequest.ActiveType.ConvertToEnum <_BaseDetailRequestViewModel.EnumActiveType>();

                //判斷為EDIT 或 VIEW時需抓資料並檢查編輯權限
                if (enumActiveType.Equals(_BaseDetailRequestViewModel.EnumActiveType.VIEW) || enumActiveType.Equals(_BaseDetailRequestViewModel.EnumActiveType.EDIT))
                {
                    //取得明細資料
                    viewDetail.Detail = actorSettingService.QueryDetail(detailRequest);

                    //驗證編輯權限
                    VerifyActiveType(enumActiveType, ref viewDetail);
                }

                //取得明細下拉選單項目
                viewDetail.DetailOption = actorSettingService.QueryDetailOption();
            }
            catch (Exception ex)
            {
                throw ex;
            }

            #endregion

            return(viewDetail);
        }