public PdjtHtViewModel() { this.LoadedCommand = new DelegateCommand <object>(OnLoaded); this.SaveCommand = new DelegateCommand <object>(OnSave); this.DelCommand = new DelegateCommand <object>(OnDelete); //행추가 this.AddCommand = new DelegateCommand <object>(delegate(object obj) { PdjtHtDtl row = new PdjtHtDtl(); row.SCL_NUM = Convert.ToInt16(SCL_NUM); row.FTR_CDE = FTR_CDE; row.FTR_IDN = Convert.ToInt16(FTR_IDN); row.SEQ = Convert.ToInt16(SEQ); GrdLst.Add(row); row.CHK = "Y"; }); }
/// <summary> /// 생성자 /// </summary> public ChkSchDtlViewModel() { this.LoadedCommand = new DelegateCommand <object>(delegate(object obj) { // 0.화면객체인스턴스화 if (obj == null) { return; } chkSchDtlView = obj as ChkSchDtlView; cbMNG_CDE = chkSchDtlView.cbMNG_CDE; cbSCL_CDE = chkSchDtlView.cbSCL_CDE; btnDelete = chkSchDtlView.btnDelete; btnSave = chkSchDtlView.btnSave; btnClose = chkSchDtlView.btnClose; GrdLst = new ObservableCollection <ChscResultDtl>(); //2.화면데이터객체 초기화 InitDataBinding(); //3.권한처리 permissionApply(); //4.초기조히 initModel(); }); //점검저장 this.SaveCommand = new DelegateCommand <object>(delegate(object obj) { // 필수체크 (Tag에 필수체크 표시한 EditBox, ComboBox 대상으로 수행) if (!BizUtil.ValidReq(chkSchDtlView)) { return; } if (Messages.ShowYesNoMsgBox("저장하시겠습니까?") != MessageBoxResult.Yes) { return; } try { //다큐먼트 별로로 세팅 Dtl.CHK_CTNT = new TextRange(chkSchDtlView.richBox.Document.ContentStart, chkSchDtlView.richBox.Document.ContentEnd).Text.Trim(); BizUtil.Update2(Dtl, "SaveChscMaDtl"); } catch (Exception) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다."); return; } Messages.ShowOkMsgBox(); //화면닫기 btnClose.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); }); //점검삭제 this.DeleteCommand = new DelegateCommand <object>(delegate(object obj) { //0.삭제전 체크 Hashtable param = new Hashtable(); param.Add("sqlId", "SelectChscResultList"); param.Add("SCL_NUM", Dtl.SCL_NUM); Hashtable result = BizUtil.SelectLists(param); DataTable dt = new DataTable(); try { dt = result["dt"] as DataTable; if (dt.Rows.Count > 0) { //Messages.ShowErrMsgBox("점검시설물이 존재합니다."); //return; foreach (DataRow row in dt.Rows) { //0.점검사진삭제 //a.FIL_SEQ 첨부파일삭제 BizUtil.DelFileSeq(row["FIL_SEQ"]); //b.FILE_MAP 업무파일매핑삭제 param = new Hashtable(); param.Add("sqlId", "DeleteFileMap"); param.Add("BIZ_ID", row["FTR_CDE"].ToString() + row["FTR_IDN"].ToString()); param.Add("FIL_SEQ", row["FIL_SEQ"]); BizUtil.Update(param); //0.소모품삭제 PdjtHtDtl dtl = new PdjtHtDtl(); dtl.SCL_NUM = Convert.ToInt32(row["SCL_NUM"]); dtl.FTR_CDE = row["FTR_CDE"].ToString(); dtl.FTR_IDN = Convert.ToInt32(row["FTR_IDN"]); dtl.SEQ = Convert.ToInt32(row["SEQ"]); BizUtil.Update2(dtl, "DeletePdjtHt"); //1.데이터삭제 param.Clear(); param.Add("SCL_NUM", row["SCL_NUM"]); param.Add("FTR_CDE", row["FTR_CDE"]); param.Add("FTR_IDN", Convert.ToInt32(row["FTR_IDN"])); param.Add("sqlId", "DeleteChscResult"); param.Add("SEQ", Convert.ToInt32(row["SEQ"])); BizUtil.Update(param); } } } catch (Exception) { } // 1.삭제처리 if (Messages.ShowYesNoMsgBox("점검일정을 삭제하시겠습니까?") != MessageBoxResult.Yes) { return; } try { BizUtil.Update2(Dtl, "DeleteChscMaDtl"); } catch (Exception ex) { Messages.ShowErrMsgBox("삭제 처리중 오류가 발생하였습니다." + ex.ToString()); return; } Messages.ShowOkMsgBox(); //화면닫기 btnClose.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); }); //점검승인 this.ApprCmd = new DelegateCommand <object>(delegate(object obj) { // 필수체크 (Tag에 필수체크 표시한 EditBox, ComboBox 대상으로 수행) if (!BizUtil.ValidReq(chkSchDtlView)) { return; } if (Messages.ShowYesNoMsgBox("점검승인 하시겠습니까?") != MessageBoxResult.Yes) { return; } try { BizUtil.Update2(Dtl, "UpdateChscMaAppr"); } catch (Exception) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다."); return; } Messages.ShowOkMsgBox(); //화면닫기 btnClose.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); }); //행추가(시설물선택팝업) this.AddFtrSelCmd = new RelayCommand <object>(delegate(object obj) { try { // 지형지물팝업 윈도우 FtrSelView ftrSelView = new FtrSelView(null); ftrSelView.Owner = Window.GetWindow(chkSchDtlView); //FTR_IDN 리턴 if (ftrSelView.ShowDialog() is bool) { string FTR_IDN = ftrSelView.txtFTR_IDN.Text; string FTR_CDE = ftrSelView.txtFTR_CDE.Text; string FTR_NAM = ftrSelView.txtFTR_NAM.Text; string HJD_NAM = ftrSelView.txtHJD_NAM.Text; //저장버튼으로 닫힘 if (!FmsUtil.IsNull(FTR_IDN)) { AddFtrRow(FTR_IDN, FTR_CDE, FTR_NAM, HJD_NAM); //시설물 한건추가 } //닫기버튼으로 닫힘 } } catch (Exception ex) { Messages.ShowErrMsgBox(ex.ToString()); } }); // 그리드저장 this.GrdSaveCmd = new RelayCommand <object>(delegate(object obj) { bool isChecked = false; foreach (ChscResultDtl row in GrdLst) { if ("Y".Equals(row.CHK)) { isChecked = true; break; } } if (!isChecked) { Messages.ShowInfoMsgBox("선택된 항목이 없습니다."); return; } if (Messages.ShowYesNoMsgBox("저장하시겠습니까?") != MessageBoxResult.Yes) { return; } Hashtable param = new Hashtable(); //1.그리드 저장 foreach (ChscResultDtl row in GrdLst) { if (row.CHK != "Y") { continue; } try { row.SCL_NUM = Dtl.SCL_NUM; BizUtil.Update2(row, "SaveChscResult"); } catch (Exception) { Messages.ShowErrMsgBox("저장 처리중 오류가 발생하였습니다."); return; } } //2.점검마스터상태 변경 Hashtable pa = new Hashtable(); pa.Add("sqlId", "UpdateChscMaRes"); pa.Add("SCL_NUM", Dtl.SCL_NUM); BizUtil.Update(pa); //저장처리성공 Messages.ShowOkMsgBox(); //재조회 initModel(); }); // 행삭제 GrdDelCmd this.GrdDelCmd = new RelayCommand <object>(delegate(object obj) { //데이터 직접삭제처리 try { bool isChecked = false; foreach (ChscResultDtl row in GrdLst) { if ("Y".Equals(row.CHK)) { isChecked = true; break; } } if (!isChecked) { Messages.ShowInfoMsgBox("선택된 항목이 없습니다."); return; } if (Messages.ShowYesNoMsgBox("선택 항목을 삭제 하시겠습니까?") == MessageBoxResult.Yes) { foreach (ChscResultDtl row in GrdLst) { Hashtable param = new Hashtable(); try { if ("Y".Equals(row.CHK)) { if (row.SEQ == 0) { //그리드행만 삭제 GrdLst.RemoveAt(GrdLst.IndexOf(row)); return; } else { //0.점검사진삭제 //a.FIL_SEQ 첨부파일삭제 BizUtil.DelFileSeq(row.FIL_SEQ); //b.FILE_MAP 업무파일매핑삭제 param = new Hashtable(); param.Add("sqlId", "DeleteFileMap"); param.Add("BIZ_ID", row.FTR_CDE + row.FTR_IDN); param.Add("FIL_SEQ", row.FIL_SEQ); BizUtil.Update(param); //0.소모품삭제 PdjtHtDtl dtl = new PdjtHtDtl(); dtl.SCL_NUM = row.SCL_NUM; dtl.FTR_CDE = row.FTR_CDE; dtl.FTR_IDN = row.FTR_IDN; dtl.SEQ = row.SEQ; BizUtil.Update2(dtl, "DeletePdjtHt"); //1.데이터삭제 param.Clear(); param.Add("SCL_NUM", row.SCL_NUM); param.Add("FTR_CDE", row.FTR_CDE); param.Add("FTR_IDN", row.FTR_IDN); param.Add("SEQ", row.SEQ); param.Add("sqlId", "DeleteChscResult"); param.Add("SEQ", Convert.ToInt32(row.SEQ)); BizUtil.Update(param); } } } catch (Exception) { Messages.ShowErrMsgBox("삭제 처리중 오류가 발생하였습니다."); return; } } Messages.ShowOkMsgBox(); //재조회 initModel(); } } catch (Exception ex) { Messages.ShowErrMsgBoxLog(ex); } }); }