public SearchInfoInitViewModel SearchInfoInit()
        {
            #region 參數宣告

            SearchInfoInitViewModel      searchInfoInit = new SearchInfoInitViewModel();
            IDeviceBrandPMSettingService deviceBrandPMSettingService = new DeviceBrandPMSettingService();
            IAuthorityService            authorityService            = new AuthorityService();

            #endregion

            #region 流程

            //檢查是否驗證通過
            if (!_authState.IsAuth)
            {
                throw new Exception(_authState.AuthDescription);
            }

            try
            {
                //取得SearchInfoInit
                searchInfoInit = deviceBrandPMSettingService.QuerySearchInfoInit();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(searchInfoInit);

            #endregion
        }
        public bool Detail(DetailViewModel detail)
        {
            #region 參數宣告
            bool result = false;
            IDeviceBrandPMSettingService deviceBrandPMSettingService = new DeviceBrandPMSettingService();
            _BaseDetailRequestViewModel.EnumActiveType enumActiveType;
            #endregion

            #region 流程

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

            // 參數驗證
            VerifyParams(detail);

            try
            {
                enumActiveType = detail.ActiveType.ConvertToEnum <_BaseDetailRequestViewModel.EnumActiveType>();
                VerifyActiveType(enumActiveType, detail);

                //處理新增/編輯/刪除資料
                switch (enumActiveType)
                {
                case _BaseDetailRequestViewModel.EnumActiveType.ADD:
                    deviceBrandPMSettingService.AddDetail(detail);
                    result = true;
                    break;

                case _BaseDetailRequestViewModel.EnumActiveType.EDIT:
                    deviceBrandPMSettingService.EditDetail(detail);
                    result = true;
                    break;

                case _BaseDetailRequestViewModel.EnumActiveType.DELETE:
                    deviceBrandPMSettingService.DeleteDetail(detail);
                    result = true;
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            #endregion

            return(result);
        }
Exemple #3
0
        public ViewDetailViewModel ViewDetail(DetailRequestViewModel detailRequest)
        {
            #region 參數宣告
            ViewDetailViewModel          viewDetail = new ViewDetailViewModel();
            IDeviceBrandPMSettingService deviceBrandPMSettingService = new DeviceBrandPMSettingService();
            _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 = deviceBrandPMSettingService.QueryDetail(detailRequest);

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

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

            #endregion

            return(viewDetail);
        }
        public SearchListViewModel SearchList(SearchInfoViewModel searchInfo)
        {
            #region 參數宣告
            SearchListViewModel          searchList = new SearchListViewModel();
            IDeviceBrandPMSettingService deviceBrandPMSettingService = new DeviceBrandPMSettingService();
            IAuthorityService            authorityService            = new AuthorityService();
            #endregion

            #region 流程

            //檢查是否驗證通過
            if (!_authState.IsAuth)
            {
                throw new Exception(_authState.AuthDescription);
            }

            // 參數驗證
            VerifyParams(searchInfo);

            try
            {
                //取得查詢結果
                searchList = deviceBrandPMSettingService.QuerySearchList(searchInfo);

                //檢查資料編輯權限
                searchList.SearchItemList.ForEach(item => item.HasEditPermission = authorityService.HasDataPermission(_authState.UserID, item.DepartmentCD));
            }
            catch (Exception ex)
            {
                throw ex;
            }

            #endregion

            return(searchList);
        }