private void btn_checkin_save_Click(object sender, RoutedEventArgs e) { List<RoomItem> _seccessRoom = new List<RoomItem>(); string _failRoom = string.Empty; foreach (RoomItem item in checkinFlyout_lb.ItemsSource) { var pmsdata = item.PMSDATA; pmsdata.cmd = STRUCTS.CGI_PMS_SET_ALL_REQ; pmsdata.repeat_times = 5; pmsdata.ring_duration = 120; pmsdata.try_interval = 3; bool _result = false; using (HotelHelper hh = new HotelHelper(util.PBXIP)) { _result = hh.CheckIn(pmsdata); } if (_result) { if (NOWACT == PMSBEH.DO_MODIFY) { item.PMSDATA = pmsdata; item.IsChecked = false; item.Languages = pmsdata.language.ToString(); item.Hour = pmsdata.hour; item.Minutes = pmsdata.minutes; item.States = "1"; util.Log2DB(item.RoomNum, string.Format("MODIFY : {0}", item.RoomNum), "2"); continue; } DataTable dt = util.CreateDT2SP(); dt.Rows.Add("@I_ROOM", item.RoomNum); dt.Rows.Add("@I_STATUS", "1"); using (FirebirdDBHelper db = new FirebirdDBHelper(util.strDBConn)) { try { db.BeginTran(); db.ExcuteSP("UDT_ROOM_STATUS", dt); db.Commit(); item.PMSDATA = pmsdata; item.IsChecked = false; item.Languages = pmsdata.language.ToString(); item.Hour = pmsdata.hour; item.Minutes = pmsdata.minutes; item.States = "1"; _seccessRoom.Add(item); util.Log2DB(item.RoomNum, string.Format("CHECK IN : {0}", item.RoomNum), "1"); } catch (FirebirdSql.Data.FirebirdClient.FbException fe) { db.Rollback(); } } } else { item.IsChecked = false; if (string.IsNullOrEmpty(_failRoom)) _failRoom = item.RoomNum; else _failRoom += string.Format(",{0}", item.RoomNum); } } var lbs = this.FindChild<ListBox>("listrooms"); foreach (var itm in _seccessRoom) { lbs.SelectedItems.Remove(itm); } ToggleFlyout(0); string alertmsg = string.Empty; int alertsec = 0; if (string.IsNullOrEmpty(_failRoom)) { if (NOWACT == PMSBEH.DO_CHECKIN) { alertmsg = "체크인 설정이 완료 되었습니다."; } else { alertmsg = "설정 수정이 완료 되었습니다."; } alertsec = (int)AlertDelaySec.Success; } else { if (NOWACT == PMSBEH.DO_CHECKIN) { alertmsg = string.Format("체크인 실패\r\n방번호 : {0}", _failRoom); } else { alertmsg = string.Format("실패\r\n방번호 : {0}", _failRoom); } alertsec = (int)AlertDelaySec.Success; } ShowAlertDialog(alertmsg, alertsec); if (NOWACT == PMSBEH.DO_CHECKIN) { NOWACT = PMSBEH.NONE; } else if (NOWACT == PMSBEH.DO_MODIFY) { NOWACT = PMSBEH.NONE; } }
// 수정 private void contextmenu1_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = (MenuItem)e.Source; ContextMenu contextMenu = (ContextMenu)menuItem.Parent; selectedListBox = (ListBox)contextMenu.PlacementTarget; ListBox lb = checkinFlyout.FindChild<ListBox>("checkinFlyout_lb"); lb.ItemsSource = selectedListBox.SelectedItems; this.ToggleFlyout(0); NOWACT = PMSBEH.DO_MODIFY; }