示例#1
0
        protected void ctlRejectReasonGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int reasonId;

            if (e.CommandName.Equals("ReasonEdit"))
            {
                int rowIndex = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex;
                reasonId = UIHelper.ParseShort(ctlRejectReasonGridView.DataKeys[rowIndex].Value.ToString());
                ctlRejectReasonGridView.EditIndex = rowIndex;

                //ctlReasonFormView.PageIndex = (ctlRejectReasonGridView.PageIndex * ctlRejectReasonGridView.PageSize) + rowIndex;
                //ctlReasonFormView.ChangeMode(FormViewMode.Edit);
                //IList<DbRejectReason> list = new List<DbRejectReason>();
                //list.Add(ScgDbQueryProvider.RejectReasonQuery.FindByIdentity(reasonId));
                //ctlReasonFormView.DataSource = list;
                //ctlReasonFormView.DataBind();
                //GridView ctlReasonLangGrid = ctlReasonFormView.FindControl("ctlReasonLangGrid") as GridView;
                //ctlReasonLangGrid.DataSource = ScgDbQueryProvider.RejectReasonLangQuery.FindReasonLangByReasonId(reasonId);
                //ctlReasonLangGrid.DataBind();

                ctlRejectReasonGridView.DataCountAndBind();

                ctlDbRejectReasonEditor.Initialize(FlagEnum.EditFlag, reasonId);
                ctlUpdatePanelGridView.Update();
            }

            if (e.CommandName.Equals("ReasonDelete"))
            {
                try
                {
                    int rowIndex = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex;
                    reasonId = UIHelper.ParseShort(ctlRejectReasonGridView.DataKeys[rowIndex].Value.ToString());
                    DbRejectReason rejectReason = ScgDbQueryProvider.DbRejectReasonQuery.FindByIdentity(reasonId);
                    RejectReasonService.Delete(rejectReason);
                }
                catch (Exception ex)
                {
                    if (((System.Data.SqlClient.SqlException)(ex.GetBaseException())).Number == 547)
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "AlertInUseData",
                                                                "alert('This data is now in use.');", true);
                    }
                    ctlRejectReasonGridView.DataCountAndBind();
                }
                ctlRejectReasonGridView.DataCountAndBind();
                ctlUpdatePanelGridView.Update();
            }
        }
        protected void ctlAdd_Click(object sender, ImageClickEventArgs e)
        {
            DbRejectReason rejectReason = new DbRejectReason();

            if (Mode.Equals(FlagEnum.EditFlag))
            {
                rejectReason.ReasonID = DbRejectReasonID;
            }

            rejectReason.ReasonCode = ctlReasonCode.Text;
            if (!ctlRequestTypeDropdown.SelectedValue.Equals("0"))
            {
                rejectReason.DocumentTypeID = UIHelper.ParseInt(ctlRequestTypeDropdown.SelectedValue);
            }
            else
            {
                rejectReason.DocumentTypeID = null;
            }
            if (!ctlStateEventDropdown.SelectedValue.Equals("0"))
            {
                rejectReason.WorkFlowStateEventID = UIHelper.ParseInt(ctlStateEventDropdown.SelectedValue);
            }
            else
            {
                rejectReason.WorkFlowStateEventID = null;
            }
            rejectReason.RequireComment       = ctlCommentChk.Checked;
            rejectReason.RequireConfirmReject = ctlConfirmRejectionChk.Checked;
            rejectReason.Active = ctlActivechk.Checked;
            try
            {
                // save or update RejectReason
                if (Mode.Equals(FlagEnum.EditFlag))
                {
                    RejectReasonService.UpdateReason(rejectReason);
                }
                else
                {
                    int reasonID = RejectReasonService.AddReason(rejectReason);
                    rejectReason.ReasonID = reasonID;
                }

                // save or update RejectReasonLang
                IList <DbRejectReasonLang> list = new List <DbRejectReasonLang>();

                foreach (GridViewRow row in ctlReasonLangGrid.Rows)
                {
                    short languageId = UIHelper.ParseShort(ctlReasonLangGrid.DataKeys[row.RowIndex]["LanguageID"].ToString());

                    TextBox  Description = row.FindControl("ctlDescription") as TextBox;
                    TextBox  Comment     = (TextBox)row.FindControl("ctlCommentLang") as TextBox;
                    CheckBox Active      = (CheckBox)row.FindControl("ctlActiveLang") as CheckBox;

                    if ((!string.IsNullOrEmpty(Description.Text)) || !string.IsNullOrEmpty(Comment.Text))
                    {
                        DbRejectReasonLang rejectReasonLang = new DbRejectReasonLang();
                        rejectReasonLang.Active       = Active.Checked;
                        rejectReasonLang.ReasonDetail = Description.Text;
                        rejectReasonLang.Comment      = Comment.Text;
                        rejectReasonLang.Language     = new DbLanguage(languageId);
                        rejectReasonLang.Reason       = rejectReason;

                        list.Add(rejectReasonLang);
                    }
                }

                RejectReasonLangService.UpdateRejectReasonLang(list, rejectReason.ReasonID);
                Notify_Ok(sender, e);
            }
            catch (ServiceValidationException ex)
            {
                this.ValidationErrors.MergeErrors(ex.ValidationErrors);
            }
        }