//삭제 버튼 클릭 private void UserDelBtn_Click(object sender, EventArgs e) { if (this.UserDetailLV.SelectedItems.Count > 0) { if (DialogResult.Yes == MessageBox.Show("사용자를 삭제하겠습니까?", "SMS 사용자 관리", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)) { List <WSmsUser> wsuList = new List <WSmsUser>(); for (int i = 0; i < this.UserDetailLV.SelectedItems.Count; i++) { WSmsUser wsu = new WSmsUser(uint.Parse(this.UserDetailLV.SelectedItems[i].Name), string.Empty, string.Empty, string.Empty); wsuList.Add(wsu); } for (int i = 0; i < wsuList.Count; i++) { this.dataMng.DelSmsUser(wsuList[i]); } } } else { MessageBox.Show("삭제할 사용자를 선택하세요.", "SMS 사용자 관리", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// 생성자 /// </summary> /// <param name="_code"> /// 1 - 등록, 2 - 수정 /// </param> /// <param name="_pkid"> /// 수정일 경우 선택한 사용자 /// </param> public SMSUserMng(byte _code, uint _pkid) { InitializeComponent(); this.dataMng = WeatherDataMng.getInstance(); this.code = _code; this.pkid = _pkid; for (int i = 0; i < this.dataMng.DeviceList.Count; i++) { WTypeDevice typeDevice = this.dataMng.GetTypeDevice(this.dataMng.DeviceList[i].TypeDevice); if (typeDevice.Name != "HSD" && typeDevice.Name != "DSD") { this.WDeviceTV.Nodes.Add(this.dataMng.DeviceList[i].PKID.ToString(), string.Format("{0}({1})", this.dataMng.DeviceList[i].Name, typeDevice.Name)); } } if (_code == 1) //등록 { this.Text = string.Format("SMS 사용자 등록"); this.SmsUserMngPB.BackgroundImage = Resources.sms사용자등록_41; this.SmsUserMngLB.Text = string.Format("SMS 사용자를 등록합니다."); } else if (_code == 2) //수정 { this.Text = string.Format("SMS 사용자 수정"); this.SmsUserMngPB.BackgroundImage = Resources.sms사용자수정_22; this.SmsUserMngLB.Text = string.Format("SMS 사용자를 수정합니다."); WSmsUser wsu = this.dataMng.getSmsUser(_pkid); this.SmsUserNameTB.Text = wsu.Name; this.SmsUserTelNumTB.Text = wsu.TelNum; this.SmsUserRemarkTB.Text = wsu.Remark; List <MapSmsUser> tmpMsuList = new List <MapSmsUser>(); for (int i = 0; i < this.dataMng.MapSmsList.Count; i++) { if (this.dataMng.MapSmsList[i].FkSmsUser == _pkid) { tmpMsuList.Add(this.dataMng.MapSmsList[i]); } } for (int i = 0; i < tmpMsuList.Count; i++) { if (this.WDeviceTV.Nodes.ContainsKey(tmpMsuList[i].FkDevice.ToString())) { this.WDeviceTV.Nodes[tmpMsuList[i].FkDevice.ToString()].Checked = true; } } this.SaveBtn.Enabled = false; } }
//수정 메소드 private void Update() { WSmsUser wsu = new WSmsUser(this.dataMng.getSmsUser(this.pkid).PKID, SmsUserNameTB.Text, SmsUserTelNumTB.Text.Replace("-", ""), SmsUserRemarkTB.Text); List <string> strList = new List <string>(); for (int i = 0; i < this.SelectWDeviceLV.Items.Count; i++) { strList.Add(this.SelectWDeviceLV.Items[i].Name); } if (strList.Count > 0) { //SMS 사용자 정보 업데이트 this.dataMng.UpdateSmsUser(wsu, strList); //SMS 수신 항목 DB 업데이트 #region SMS 수신 항목 DB 업데이트 MapSmsDeviceItem tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.임계치1단계); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Alarm1; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.임계치2단계); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Alarm2; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.임계치3단계); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Alarm3; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리1전압이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt1Volt; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리1온도이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt1Tempo; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리1점검시기); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt1Test; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리1교체시기); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt1Repair; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리1교체초기화); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt1Reset; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리2전압이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt2Volt; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리2온도이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt2Tempo; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리2점검시기); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt2Test; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리2교체시기); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt2Repair; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.배터리2교체초기화); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.Batt2Reset; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.FAN이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.FanState; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.CDMA시간설정이상); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.CDMATime; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); tmpMapSmsDeviceItem = this.dataMng.getMapSmsItem(wsu.PKID, WeatherDataMng.SMSType.센서상태); tmpMapSmsDeviceItem.IsUse = this.recvSmsKind.SensorState; this.dataMng.UpdateMapSMSDeviceItem(tmpMapSmsDeviceItem); #endregion } }
//저장 메소드 private void save() { WSmsUser wsu = new WSmsUser(0, SmsUserNameTB.Text, SmsUserTelNumTB.Text.Replace("-", ""), SmsUserRemarkTB.Text); List <string> strList = new List <string>(); for (int i = 0; i < this.SelectWDeviceLV.Items.Count; i++) { strList.Add(this.SelectWDeviceLV.Items[i].Name); } if (strList.Count > 0) { //SMS 사용자 등록 this.dataMng.AddSmsUser(wsu, strList); //사용자 별 수신받을 항목 저장 List <WSmsUser> tmpSmsUserList = this.dataMng.getSmsUser(SmsUserTelNumTB.Text); WSmsUser tmpSmsUser = new WSmsUser(); for (int i = 0; i < tmpSmsUserList.Count; i++) { if (tmpSmsUserList[i].Name == SmsUserNameTB.Text) { tmpSmsUser = tmpSmsUserList[i]; break; } } #region SMS 수신 항목 DB 저장 MapSmsDeviceItem mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.임계치1단계, tmpSmsUser.PKID, this.recvSmsKind.Alarm1); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.임계치2단계, tmpSmsUser.PKID, this.recvSmsKind.Alarm2); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.임계치3단계, tmpSmsUser.PKID, this.recvSmsKind.Alarm3); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리1전압이상, tmpSmsUser.PKID, this.recvSmsKind.Batt1Volt); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리1온도이상, tmpSmsUser.PKID, this.recvSmsKind.Batt1Tempo); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리1점검시기, tmpSmsUser.PKID, this.recvSmsKind.Batt1Test); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리1교체시기, tmpSmsUser.PKID, this.recvSmsKind.Batt1Repair); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리1교체초기화, tmpSmsUser.PKID, this.recvSmsKind.Batt1Reset); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리2전압이상, tmpSmsUser.PKID, this.recvSmsKind.Batt2Volt); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리2온도이상, tmpSmsUser.PKID, this.recvSmsKind.Batt2Tempo); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리2점검시기, tmpSmsUser.PKID, this.recvSmsKind.Batt2Test); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리2교체시기, tmpSmsUser.PKID, this.recvSmsKind.Batt2Repair); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.배터리2교체초기화, tmpSmsUser.PKID, this.recvSmsKind.Batt2Reset); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.FAN이상, tmpSmsUser.PKID, this.recvSmsKind.FanState); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.CDMA시간설정이상, tmpSmsUser.PKID, this.recvSmsKind.CDMATime); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); mapSmsDeviceItems = new MapSmsDeviceItem(0, (uint)WeatherDataMng.SMSType.센서상태, tmpSmsUser.PKID, this.recvSmsKind.SensorState); this.dataMng.AddMapSMSDeviceItem(mapSmsDeviceItems); #endregion } }