private static void View_ShowingEditor(object sender, ShowingEditorEventArgs e) { if (g_IsAuthAllYN == false) { e.Cancel = true; return; } TableView tv = sender as TableView; OrderCreateMgt OptOrdList = tv.Grid.CurrentItem as OrderCreateMgt; if (OptOrdList == null) { return; } switch (e.Column.FieldName) { // 컬럼이 행추가 상태 (신규 Row 추가)가 아닌 경우 // 고객사 코드, 데이터 그룹, 오더 번호, 오더 라인번호 컬럼은 수정이 되지 않도록 처리한다. case "CST_CD": case "WAV_NO": case "ORD_NO": case "ORD_LINE_NO": if (OptOrdList.IsNew == false) { e.Cancel = true; OptOrdList.IsSelected = false; } break; default: break; } }
/// <summary> /// 그리드 행추가 버튼 크릭 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnRowAdd_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var newItem = new OrderCreateMgt { CST_CD = string.Empty , WAV_NO = string.Empty , ORD_NO = string.Empty , ORD_LINE_NO = string.Empty , SHIP_TO_CD = string.Empty , SKU_CD = string.Empty , SKU_CBM = 0 , SKU_WTH_LEN = 0 , SKU_VERT_LEN = 0 , SKU_HGT_LEN = 0 , SKU_WGT = 0 , LOC_CD = string.Empty , PLAN_QTY = 1 , IsSelected = true , IsNew = true }; this.OptOrdList.Add(newItem); this.gridMain.Focus(); this.gridMain.CurrentColumn = this.gridMain.Columns.First(); this.gridMain.View.FocusedRowHandle = this.OptOrdList.Count - 1; this.OptOrdList[this.OptOrdList.Count - 1].BackgroundBrush = new SolidColorBrush(Colors.White); this.OptOrdList[this.OptOrdList.Count - 1].BaseBackgroundBrush = new SolidColorBrush(Colors.White); }
/// <summary> /// 오더 정보 저장 /// </summary> /// <returns></returns> private async Task <bool> SaveSP_GI_ORD_LIST_SAVE(BaseDataAccess _da, OrderCreateMgt _item) { bool isRtnValue = true; #region 라메터 변수 선언 및 값 할당 DataTable dtRtnValue = null; var strProcedureName = "PK_O1007_QPS.SP_GI_ORD_LIST_SAVE"; Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); string[] arrOutputParam = { "O_RTN_RSLT" }; var strCenterCD = this.BaseClass.CenterCD; // 센터코드 var strWavNo = _item.WAV_NO; // 데이터 그룹 var strCstCD = _item.CST_CD; // 고객사 코드 var strOrdNo = _item.ORD_NO; // 오더 번호 var strOrdLineNo = _item.ORD_LINE_NO; // 오더 라인번호 var strWrkPlanYmd = this.BaseClass.GetCalendarValue(this.deWrkPlanWmd); // 출고일자 var strShipToCD = _item.SHIP_TO_CD; // 거래처 코드 var strSkuCD = _item.SKU_CD; // SKU 코드 decimal dSkuCbm = _item.SKU_CBM; // SKU CBM decimal dSkuWthLen = _item.SKU_WTH_LEN; // SKU 가로 decimal dSkuVertLen = _item.SKU_VERT_LEN; // SKU 세로 decimal dSkuHgtLen = _item.SKU_HGT_LEN; // SKU 높이 decimal dSkuWgt = _item.SKU_WGT; // SKU 중량 string strLocation = _item.LOC_CD; // 위치 코드 decimal dPlanQty = _item.PLAN_QTY; // 계획 수량 var strUserID = this.BaseClass.UserID; // 사용자 ID #endregion #region Input 파라메터 dicInputParam.Add("P_CNTR_CD", strCenterCD); // 센터코드 dicInputParam.Add("P_WAV_NO", strWavNo); // 데이터 그룹 dicInputParam.Add("P_CST_CD", strCstCD); // 고객사 코드 dicInputParam.Add("P_ORD_NO", strOrdNo); // 오더 번호 dicInputParam.Add("P_ORD_LINE_NO", strOrdLineNo); // 오더 라인번호 dicInputParam.Add("P_WRK_PLAN_YMD", strWrkPlanYmd); // 출고일자 dicInputParam.Add("P_SHIP_TO_CD", strShipToCD); // 거래처 코드 dicInputParam.Add("P_SKU_CD", strSkuCD); // SKU 코드 dicInputParam.Add("P_SKU_CBM", dSkuCbm); // SKU CBM dicInputParam.Add("P_SKU_WTH_LEN", dSkuWthLen); // SKU 가로 dicInputParam.Add("P_SKU_VERT_LEN", dSkuVertLen); // SKU 세로 dicInputParam.Add("P_SKU_HGT_LEN", dSkuHgtLen); // SKU 높이 dicInputParam.Add("P_SKU_WGT", dSkuWgt); // SKU 중량 dicInputParam.Add("P_LOC_CD", strLocation); // 위치 코드 dicInputParam.Add("P_PLAN_QTY", dPlanQty); // 계획 수량 dicInputParam.Add("P_USER_ID", strUserID); // 사용자 ID #endregion await System.Threading.Tasks.Task.Run(() => { dtRtnValue = _da.GetSpDataTable(strProcedureName, dicInputParam, arrOutputParam); }).ConfigureAwait(true); if (dtRtnValue != null) { if (dtRtnValue.Rows.Count > 0) { if (dtRtnValue.Rows[0]["CODE"].ToString().Equals("0") == false) { var strMessage = dtRtnValue.Rows[0]["MSG"].ToString(); this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE); isRtnValue = false; } } else { // ERR_SAVE - 저장 중 오류가 발생했습니다. this.BaseClass.MsgError("ERR_SAVE"); isRtnValue = false; } } return(isRtnValue); }