Exemple #1
0
        public bool Detail(DetailViewModel detail)
        {
            #region 參數宣告
            bool result = false;
            IProjectPriceSellService projectPriceSellService = new ProjectPriceSellService();
            _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:
                    projectPriceSellService.AddDetail(detail);
                    result = true;
                    break;

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

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

            #endregion

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

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

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

            #endregion

            return(viewDetail);
        }
Exemple #3
0
        public SearchListViewModel SearchList(SearchInfoViewModel searchInfo)
        {
            #region 參數宣告
            SearchListViewModel      searchList = new SearchListViewModel();
            IProjectPriceSellService projectPriceSellService = new ProjectPriceSellService();
            IAuthorityService        authorityService        = new AuthorityService();
            #endregion

            #region 流程

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

            // 參數驗證
            VerifyParams(searchInfo);

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

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

            #endregion

            return(searchList);
        }