private void BtnRowAdd_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            try
            {
                var newItem = new CenterMgnt
                {
                    CNTR_CD = string.Empty,
                    CNTR_NM = string.Empty,
                    //DB_CONN_TYPE = string.Empty,
                    //ORCL_CONN_STR = string.Empty,
                    //MS_CONN_STR = string.Empty,
                    //MR_CONN_STR = string.Empty,
                    FR_CURR_DATE     = DateTime.Now,
                    FR_INIT_YMD_DIFF = 0,
                    FR_INIT_HM       = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")),
                    TO_CURR_DATE     = DateTime.Now,
                    TO_INIT_YMD_DIFF = 0,
                    TO_INIT_HM       = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 00:00:00")),
                    ADDR             = string.Empty,
                    TEL_NO           = string.Empty,
                    USE_YN           = "Y",
                    IsSelected       = true,
                    IsNew            = true,
                    IsSaved          = false
                };

                this.CenterMgntList.Add(newItem);
                this.gridMaster.Focus();
                this.gridMaster.CurrentColumn         = this.gridMaster.Columns.First();
                this.gridMaster.View.FocusedRowHandle = this.CenterMgntList.Count - 1;

                this.CenterMgntList[this.CenterMgntList.Count - 1].BackgroundBrush     = new SolidColorBrush(Colors.White);
                this.CenterMgntList[this.CenterMgntList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White);
            }
            catch (Exception err)
            {
                this.BaseClass.Error(err);
            }
        }
        private static void view_ShowingEditor(object sender, ShowingEditorEventArgs e)
        {
            try
            {
                if (g_IsAuthAllYN == false)
                {
                    e.Cancel = true;
                    return;
                }

                TableView  tv         = sender as TableView;
                CenterMgnt dataMember = tv.Grid.CurrentItem as CenterMgnt;

                if (dataMember == null)
                {
                    return;
                }


                switch (e.Column.FieldName)
                {
                // 컬럼이 행추가 상태 (신규 Row 추가)가 아닌 경우
                // 센터코드, DB 접속 정보 컬럼은 수정이 되지 않도록 처리한다.
                case "CNTR_CD":
                case "DB_CONN_TYPE":
                    if (dataMember.IsNew == false)
                    {
                        e.Cancel = true;
                    }
                    break;

                default: break;
                }
            }
            catch { throw; }
        }
        /// <summary>
        /// Center 수정
        /// </summary>
        /// <param name="_da">DataAccess 객체</param>
        /// <param name="_item">저장 대상 아이템 (Row 데이터)</param>
        /// <returns></returns>
        private bool UpdateSP_CNTR_UPD(BaseDataAccess _da, CenterMgnt _item)
        {
            bool isRtnValue = true;

            #region  라메터 변수 선언 및 값 할당
            DataTable dtRtnValue       = null;
            var       strProcedureName = "PK_C1003.SP_CNTR_UPD";
            Dictionary <string, object> dicInputParam = new Dictionary <string, object>();
            string[] arrOutputParam = { "O_RSLT" };

            var strCoCd          = BaseClass.CompanyCode;                     // 회사 코드
            var strCntrCd        = _item.CNTR_CD;                             // 센터 코드
            var strCntrNm        = _item.CNTR_NM;                             // 센터명
            var strFrInitYmdDiff = _item.FR_INIT_YMD_DIFF;                    // 시작 초기 일자 차이
            var strFrInitHm      = _item.FR_INIT_HM.ToString("HHmm");         // 시작 초기 시간
            var strToInitYmdDiff = _item.TO_INIT_YMD_DIFF;                    // 종료 초기 일자 차이
            var strToInitHm      = _item.TO_INIT_HM.ToString("HHmm");         // 종료 초기 시간
            var strIPMgmtYN      = _item.IP_MGMT_Checked == true ? "Y" : "N"; // IP관리 여부
            var strAddr          = _item.ADDR;                                // 주소
            var strTelNo         = _item.TEL_NO;                              // 연락처
            var strUseYN         = _item.Checked == true ? "Y" : "N";         // 사용 여부
            var strUserID        = this.BaseClass.UserID;                     // 사용자 ID

            var strErrCode = string.Empty;                                    // 오류 코드
            var strErrMsg  = string.Empty;                                    // 오류 메세지
            #endregion

            #region Input 파라메터
            dicInputParam.Add("P_CO_CD", strCoCd);                                  // 회사 코드
            dicInputParam.Add("P_CNTR_CD", strCntrCd);                              // 센터 코드
            dicInputParam.Add("P_CNTR_NM", strCntrNm);                              // 센터명
            dicInputParam.Add("P_FR_INIT_YMD_DIFF", strFrInitYmdDiff);              // 시작 초기 일자 차이
            dicInputParam.Add("P_FR_INIT_HM", strFrInitHm);                         // 시작 초기 시간
            dicInputParam.Add("P_TO_INIT_YMD_DIFF", strToInitYmdDiff);              // 종료 초기 일자 차이
            dicInputParam.Add("P_TO_INIT_HM", strToInitHm);                         // 종료 초기 시간
            dicInputParam.Add("P_IP_MGMT_YN", strIPMgmtYN);                         // IP관리 여부
            dicInputParam.Add("P_ADDR", strAddr);                                   // 주소
            dicInputParam.Add("P_TEL_NO", strTelNo);                                // 연락처
            dicInputParam.Add("P_USE_YN", strUseYN);                                // 사용 여부
            dicInputParam.Add("P_USER_ID", strUserID);                              // 사용자 ID
            #endregion

            dtRtnValue = _da.GetSpDataTable(strProcedureName, dicInputParam, arrOutputParam);

            if (dtRtnValue != null)
            {
                if (dtRtnValue.Rows.Count > 0)
                {
                    if (dtRtnValue.Rows[0]["CODE"].ToString().Equals("0") == false)
                    {
                        this.BaseClass.MsgInfo(dtRtnValue.Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE);
                        isRtnValue = false;
                    }
                }
                else
                {
                    this.BaseClass.MsgInfo("ERR_SAVE"); //CMPT_SAVE : 저장 중 오류가 발생했습니다.
                    isRtnValue = false;
                }
            }

            return(isRtnValue);
        }