private void BtnRowAdd_First_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var newItem = new ChuteMgmt { EQP_ID = string.Empty, CHUTE_ID = string.Empty, CHUTE_NM = string.Empty, FINAL_CHUTE_ID = string.Empty, CHUTE_TYPE_CD = "NML", CHUTE_USE_CD = "F", ZONE_ID = string.Empty, CHUTE_ALLOC_PRTY = 0, PLC_CHUTE_ID = string.Empty, USE_YN = "Y", IsSelected = true, IsNew = true, IsSaved = false }; this.ChuteMgmtList.Add(newItem); this.gridMaster.Focus(); this.gridMaster.CurrentColumn = this.gridMaster.Columns.First(); this.gridMaster.View.FocusedRowHandle = this.ChuteMgmtList.Count - 1; this.ChuteMgmtList[this.ChuteMgmtList.Count - 1].BackgroundBrush = new SolidColorBrush(Colors.White); this.ChuteMgmtList[this.ChuteMgmtList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White); }
/// <summary> /// 컬럼 데이터 변경 후 이벤트 (컬럼 변경 후 다른 컬럼 값 변경시 사용) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TvMasterGrid_CellValueChanged(object sender, CellValueChangedEventArgs e) { try { TableView tv = sender as TableView; ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt; if (e.Column.FieldName.Equals("CHUTE_ID")) { //if(this.isNumericCheck(dataMember.CHUTE_ID) == false) //{ // dataMember.CHUTE_ID = string.Empty; //} if (dataMember.CHUTE_ID.Length > 2) { dataMember.FINAL_CHUTE_ID = dataMember.CHUTE_ID.Substring(0, 2); } } } catch (Exception err) { this.BaseClass.Error(err); } }
/// <summary> /// Chute 수정 /// </summary> /// <param name="_da">DataAccess 객체</param> /// <param name="_item">저장 대상 아이템 (Row 데이터)</param> /// <returns></returns> private async Task <bool> UpdateSP_CHUTE_UPD(BaseDataAccess _da, ChuteMgmt _item) { bool isRtnValue = true; #region 라메터 변수 선언 및 값 할당 DataTable dtRtnValue = null; var strProcedureName = "UI_CHUTE_MST_UPD"; Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); Dictionary <object, BaseEnumClass.MSSqlOutputDataType> dicOutPutParam = new Dictionary <object, BaseEnumClass.MSSqlOutputDataType>(); Dictionary <object, object> dicRtnValue = new Dictionary <object, object>(); string strEqpID = _item.EQP_ID; // 설비 ID string strChuteId = _item.CHUTE_ID; // 슈트 ID string strChuteNm = _item.CHUTE_NM; // CHUTE_NM string strFinalChuteId = _item.FINAL_CHUTE_ID; // 최종 합류 슈트 int intChuteAllocPrty = _item.CHUTE_ALLOC_PRTY; // 슈트 우선 순위 string strPlcChuteId = _item.PLC_CHUTE_ID; // PLC_CHUTE_ID string strChuteTypeCd = _item.CHUTE_TYPE_CD; // 슈트 종류 코드 string strChuteUseCd = _item.CHUTE_USE_CD; // 슈트 사용 형태 string strZONE_ID = _item.ZONE_ID; // ZONE_ID string strUseYN = _item.Checked == true ? "Y" : "N"; // 사용 여부 string strUserID = this.BaseClass.UserID; // 사용자 ID #endregion #region Input 파라메터 dicInputParam.Add("EQP_ID", strEqpID); // 설비 ID dicInputParam.Add("CHUTE_ID", strChuteId); // 슈트 ID dicInputParam.Add("CHUTE_NM", strChuteNm); // CHUTE_NM dicInputParam.Add("FINAL_CHUTE_ID", strFinalChuteId); // CHUTE_NM dicInputParam.Add("CHUTE_ALLOC_PRTY", intChuteAllocPrty); // CHUTE_NM dicInputParam.Add("PLC_CHUTE_ID", strPlcChuteId); // PLC_CHUTE_ID dicInputParam.Add("CHUTE_TYPE_CD", strChuteTypeCd); // CHUTE_NM dicInputParam.Add("CHUTE_USE_CD", strChuteUseCd); // CHUTE_USE_CD dicInputParam.Add("ZONE_ID", strZONE_ID); // ZONE_ID dicInputParam.Add("USE_YN", strUseYN); // 사용 여부 dicInputParam.Add("USER_ID", strUserID); // 사용자 ID #endregion #region + Output 파라메터 dicOutPutParam.Add("RTN_VAL", BaseEnumClass.MSSqlOutputDataType.INT32); dicOutPutParam.Add("RTN_MSG", BaseEnumClass.MSSqlOutputDataType.VARCHAR); #endregion #region + 데이터 조회 await System.Threading.Tasks.Task.Run(() => { dtRtnValue = _da.GetSpDataTable(strProcedureName, dicInputParam, dicOutPutParam, ref dicRtnValue); }).ConfigureAwait(true); #endregion if (dicRtnValue["RTN_VAL"].ToString().Equals("0") == false) { var strMessage = dicRtnValue["RTN_MSG"].ToString(); this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE); isRtnValue = false; } return(isRtnValue); }
/// <summary> /// Chute 수정 /// </summary> /// <param name="_da">DataAccess 객체</param> /// <param name="_item">저장 대상 아이템 (Row 데이터)</param> /// <returns></returns> private bool UpdateSP_CHUTE_UPD(BaseDataAccess _da, ChuteMgmt _item) { bool isRtnValue = true; #region 라메터 변수 선언 및 값 할당 DataTable dtRtnValue = null; var strProcedureName = "PK_C1019_SRT.SP_CHUTE_UPD"; Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); string[] arrOutputParam = { "O_RSLT" }; var strCntrCd = BaseClass.CenterCD; // 센터 코드 var strEqpID = _item.EQP_ID; // 설비 ID var strChuteId = _item.CHUTE_ID; // 슈트 ID var strChuteNm = _item.CHUTE_NM; // CHUTE_NM var strChuteUseCd = _item.CHUTE_USE_CD; // CHUTE_USE_CD var strChuteDtlUseCd = _item.CHUTE_DTL_USE_CD; // CHUTE_DTL_USE_CD var strZONE_ID = _item.ZONE_ID; // ZONE_ID var strPlcChuteId = _item.PLC_CHUTE_ID; // PLC_CHUTE_ID 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_CNTR_CD", strCntrCd); // 센터 코드 dicInputParam.Add("P_EQP_ID", strEqpID); // 설비 ID dicInputParam.Add("P_CHUTE_ID", strChuteId); // 슈트 ID dicInputParam.Add("P_CHUTE_NM", strChuteNm); // CHUTE_NM dicInputParam.Add("P_CHUTE_USE_CD", strChuteUseCd); // CHUTE_USE_CD dicInputParam.Add("P_CHUTE_DTL_USE_CD", strChuteDtlUseCd); // CHUTE_DTL_USE_CD dicInputParam.Add("P_ZONE_ID", strZONE_ID); // ZONE_ID dicInputParam.Add("P_PLC_CHUTE_ID", strPlcChuteId); // PLC_CHUTE_ID 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) { BaseClass.MsgInfo(dtRtnValue.Rows[0]["MSG"].ToString(), BaseEnumClass.CodeMessage.MESSAGE); isRtnValue = false; } } else { BaseClass.MsgError("ERR_SAVE"); isRtnValue = false; } } return(isRtnValue); }
private static void View_ShowingEditor(object sender, ShowingEditorEventArgs e) { if (g_IsAuthAllYN == false) { e.Cancel = true; return; } TableView tv = sender as TableView; if (tv.Name.Equals("tvMasterGrid") == true) { ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt; if (dataMember == null) { return; } switch (e.Column.FieldName) { // 컬럼이 행추가 상태 (신규 Row 추가)가 아닌 경우 // 슈트 ID 컬럼은 수정이 되지 않도록 처리한다. case "CHUTE_ID": if (dataMember.IsNew == false) { e.Cancel = true; } break; case "CHUTE_DTL_USE_CD": // 슈트용도코드 (CHUTE_USE_CD)가 REJECT인 경우만 슈트상세용도코드를 활성화한다. if (dataMember.CHUTE_USE_CD.Equals("RJT") == false) { e.Cancel = true; } break; default: break; } } }
/// <summary> /// 컬럼 데이터 변경 후 이벤트 (컬럼 변경 후 다른 컬럼 값 변경시 사용) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TvMasterGrid_CellValueChanged(object sender, CellValueChangedEventArgs e) { try { TableView tv = sender as TableView; ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt; if (e.Column.FieldName.Equals("CHUTE_USE_CD")) { if (dataMember.CHUTE_USE_CD.Equals("NML")) { dataMember.CHUTE_DTL_USE_CD = string.Empty; } } } catch (Exception err) { this.BaseClass.Error(err); } }
private static void View_ShowingEditor(object sender, ShowingEditorEventArgs e) { if (g_IsAuthAllYN == false) { e.Cancel = true; return; } TableView tv = sender as TableView; if (tv.Name.Equals("tvMasterGrid") == true) { ChuteMgmt dataMember = tv.Grid.CurrentItem as ChuteMgmt; if (dataMember == null) { return; } switch (e.Column.FieldName) { case "EQP_ID": if (dataMember.IsNew == false) { e.Cancel = true; } break; case "CHUTE_ID": if (dataMember.IsNew == false) { e.Cancel = true; } break; default: break; } } }