/// <summary> /// 슈트 매핑 상세 저장 /// </summary> /// <param name="_da">데이터베이스 엑세스 객체</param> /// <param name="_item">저장 대상 슈트 매핑 데이터</param> /// <returns></returns> private bool SaveSP_CHUTE_PLAN_DTL_SAVE(BaseDataAccess _da, ModifyRgnChuteInfo _item) { try { bool isRtnValue = true; #region 라메터 변수 선언 및 값 할당 DataTable dtRtnValue = null; var strProcedureName = "PK_P1008_SRT.SP_CHUTE_PLAN_DTL_SAVE"; Dictionary <string, object> dicInputParam = new Dictionary <string, object>(); string[] arrOutputParam = { "O_RSLT" }; var strCenterCD = this.BaseClass.CenterCD; // 센터코드 var strEqpID = this.BaseClass.ComboBoxSelectedKeyValue(this.cboEqp); // 설비 ID var strPlanCD = this.txtChutePlanCodeCond.Text.Trim(); // 슈트 플랜코드 var strPlanNM = this.txtChutePlanNMCond.Text.Trim(); // 슈트 플랜명 var strRgnCD = _item.RGN_CD; // 권역 코드 var strChuteID = _item.CHUTE_ID; // 슈트 ID var strUserID = this.BaseClass.UserID; // 사용자 ID #endregion #region Input 파라메터 dicInputParam.Add("P_CNTER_CD", strCenterCD); // 센터코드 dicInputParam.Add("P_EQP_ID", strEqpID); // 설비 ID dicInputParam.Add("P_PLAN_CD", strPlanCD); // 슈트 플랜코드 dicInputParam.Add("P_PLAN_NM", strPlanNM); // 슈트 플랜명 dicInputParam.Add("P_RGN_CD", strRgnCD); // 권역 코드 dicInputParam.Add("P_CHUTE_ID", strChuteID); // 슈트 ID 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); } catch { throw; } }
/// <summary> /// 추가된 권역, 슈트 정보 추가 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnAdd_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { try { if (this.RgnInfoList.Where(p => p.IsSelected).Count() == 0) { // 선택된 권역 정보가 없습니다. this.BaseClass.MsgError("ERR_NO_SELECT_RGN"); return; } if (this.ChuteInfoList.Where(p => p.IsSelected).Count() == 0) { // 선택된 슈트 정보가 없습니다. this.BaseClass.MsgError("ERR_NO_SELECT_CHUTE"); return; } var liSelectedRgnInfo = this.RgnInfoList.Where(p => p.IsSelected).ToList(); var liSelectedChuteInfo = this.ChuteInfoList.Where(p => p.IsSelected).ToList(); foreach (var itemRgnInfo in liSelectedRgnInfo) { foreach (var itemChuteInfo in liSelectedChuteInfo) { // 기존 조회 데이터 또는 신규 데이터는 추가되지 않도록 if (this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == false).Count() > 0) { var strMessage = this.BaseClass.GetResourceValue("ERR_EXIST_RGN_CHUTE"); strMessage = string.Format(strMessage, itemRgnInfo.RGN_CD, itemChuteInfo.CHUTE_ID); this.BaseClass.MsgError(strMessage, BaseEnumClass.CodeMessage.MESSAGE); return; } if (this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == true).Count() > 0) { this.ModifyRgnChuteInfoList.Where(p => p.RGN_CD.Equals(itemRgnInfo.RGN_CD) && p.CHUTE_ID.Equals(itemChuteInfo.CHUTE_ID) && p.IsDelete == true).ForEach(p => p.IsDelete = false); } else { var newChuteMpng = new ModifyRgnChuteInfo { RGN_CD = itemRgnInfo.RGN_CD , RGN_NM = itemRgnInfo.RGN_NM , CHUTE_ID = itemChuteInfo.CHUTE_ID }; this.ModifyRgnChuteInfoList.Add(newChuteMpng); } } } this.gridRight.ItemsSource = this.ModifyRgnChuteInfoList.Where(p => p.IsDelete == false).ToList(); this.gridRight.Focus(); this.gridRight.CurrentColumn = this.gridRight.Columns.First(); this.gridRight.View.FocusedRowHandle = this.ModifyRgnChuteInfoList.Count - 1; this.RgnInfoList.Where(p => p.IsSelected).ForEach(p => p.IsSelected = false); this.ChuteInfoList.Where(p => p.IsSelected).ForEach(p => p.IsSelected = false); } catch (Exception err) { this.BaseClass.Error(err); } }