Example #1
0
    protected void btn_Close_Click(object sender, EventArgs e)
    {
        #region
        try
        {
            SaveCurrentGridviewValue();

            if (CheckDetailIsExisted())
            {

                string SessionIDName = "CRM221_" + PageTimeStamp.Value;
                DataTable dtTemp = (DataTable)Session[SessionIDName];

                if (dtTemp != null)
                {
                    #region Variables

                    CRMModel.RecordCRMOrder CRMBCO = new CRMModel.RecordCRMOrder(ConnectionDB);
                    string strErrMsg = "";
                    bool bResult = false;
                    ArrayList ParameterList = new ArrayList();
                    CRMModel.CRMCommon BCOCommon = new CRMModel.CRMCommon();
                    System.Data.Common.DbTransaction DBT = BCOCommon.OpenAndGetConnection(ConnectionDB).BeginTransaction();

                    #endregion


                    #region
                    try
                    {
                        #region 新增
                        for (Int32 i = 0; i <= dtTemp.Rows.Count - 1; i++)
                        {
                            if (dtTemp.Rows[i].RowState != DataRowState.Deleted)
                            {
                                if (strErrMsg == "")
                                {
                                    //ORDER
                                    if (dtTemp.Rows[i]["CHECKED"].ToString()=="1" && 
                                        dtTemp.Rows[i]["PROC_DESC"].ToString() != "")
                                    {
                                        ParameterList.Clear();
                                        ParameterList.Add(dtTemp.Rows[i]["PID"].ToString());
                                        ParameterList.Add(dtTemp.Rows[i]["ITEM"].ToString());
                                        ParameterList.Add(dtTemp.Rows[i]["PERIOD"].ToString());
                                        ParameterList.Add(dtTemp.Rows[i]["PROC_DESC"].ToString());
                                        ParameterList.Add(Session["UID"].ToString());
                                        bResult = CRMBCO.UpdateCrm22(ParameterList, DBT, out strErrMsg);
                                    }
                                }
                                else
                                {
                                    break;
                                    DBT.Rollback();//交易失敗
                                }
                            }
                        }
                        #endregion

                        DBT.Commit();//交易成功
                    }
                    catch (Exception ex)
                    {
                        DBT.Rollback();//交易失敗
                        throw ex;
                    }


                    if (bResult && strErrMsg == "")
                    {
                        QueryData();
                        ErrorMsgLabel.Text = "結案成功";
                    }
                    else
                    {
                        ErrorMsgLabel.Text = strErrMsg;
                    }
                    #endregion

                }
            }

        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
            up_ErrorMsg.Update();
        }
        #endregion
    }