Exemple #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Authentication.HasResource(User.Identity.Name, "AgentDataList"))
            {
                Response.Redirect(@"/account/logon.aspx?ReturnUrl=%2f");
            }

            if (!IsPostBack)
            {
                PageTitle.Value = "代理簽核資料 > 列表";

                // 取得 QueryString
                var paggerParms   = WebUtils.ParseQueryString <PaggerParms>(Page.Request);
                var signListParms = WebUtils.ParseQueryString <SignListParms>(Page.Request);
                signListParms.GridView       = AgentGridView;
                signListParms.TotalRowsCount = totalRowsCount;
                signListParms.PaginationBar  = paginationBar;
                signListParms.NoDataTip      = noDataTip;

                //建構頁面
                ConstructPage(signListParms, paggerParms, RepositoryFactory.CreateAgentRepo());

                pageSizeSelect.Text = paggerParms.PageSize.ToString();
                queryTextBox.Text   = signListParms.QueryText;
            }
            else
            {
                //the second into page, IsPostBack == true
                //set ParentClassMember queryText = queryTextBox.Text
                //queryText = queryTextBox.Text;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Authentication.HasResource(User.Identity.Name, "AgentData"))
            {
                Response.Redirect(@"/account/logon.aspx?ReturnUrl=%2f");
            }

            if (!IsPostBack)
            {
                _agentRepo = RepositoryFactory.CreateAgentRepo();
                _rootRepo  = RepositoryFactory.CreateRootRepo();
                //從QueryString取得 部門代碼
                string sn = String.IsNullOrEmpty(Request["sn"]) ? String.Empty : Request["sn"].ToString();

                //將員工資料 與下拉式選單綁定
                ViewUtils.SetOptions(EmployeeID_FK, _rootRepo.GetEmployee());

                PageTitle.Value = "代理簽核資料 > 新增";

                if (!String.IsNullOrWhiteSpace(sn))
                {
                    //將 viewModel 的值綁定到 頁面上
                    WebUtils.PageDataBind(_agentRepo.GetAgentData(sn), this.Page);
                    EmployeeName.Value = EmployeeID_FK.Text;

                    PageTitle.Value = "代理簽核資料 > 編輯";
                }
            }
        }
        protected void SaveBtn_Click(object sender, EventArgs e)
        {
            _agentRepo = RepositoryFactory.CreateAgentRepo();
            //取得頁面資料
            model = WebUtils.ViewModelMapping <AgentViewModel>(this.Page);

            var validator   = new Validator();
            var validResult = validator.ValidateModel(model);

            if (!validResult.IsValid)
            {
                Response.Write(validResult.ErrorMessage.ToString().ToAlertFormat());
                return;
            }

            //btn處理
            ViewUtils.ButtonOff(SaveBtn, CoverBtn);

            //存檔
            var responseMessage = "";
            var successRdUrl    = String.Empty;

            try
            {
                if (model.SN <= 0)
                {
                    _agentRepo.CreateData(model);
                    successRdUrl    = @"AgentDataList.aspx?orderField=CreateDate&descending=True";
                    responseMessage = "新增成功!";
                }
                else
                {
                    model.SN = Int32.Parse(Request["sn"].ToString());
                    _agentRepo.EditData(model);
                    successRdUrl    = @"AgentDataList.aspx?orderField=ModifyDate&descending=True";
                    responseMessage = "編輯成功!";
                }
                ViewUtils.ButtonOn(SaveBtn, CoverBtn);
                responseMessage = responseMessage.ToAlertAndRedirect(successRdUrl);
            }
            catch (Exception ex)
            {
                responseMessage = String.Concat("存檔失敗!\r\n錯誤訊息: ", ex.Message).ToAlertFormat();
                ViewUtils.ShowRefreshBtn(CoverBtn, RefreshBtn);
            }
            finally
            {
                Response.Write(responseMessage);
            }
        }