using System; using System.Windows.Controls; using System.Windows.Input; using Szmedi.RvKits.Assists; namespace Szmedi.RvKits.Civil { public class RoomSettingViewModel : ObservableObject { private readonly DapperUtil dapperUtil; private RelayCommand selectLevel; private List roomItems; public ICommand SelectLevel { get { selectLevel ??= new RelayCommand(PerformSelectLevel); return selectLevel; } } public List RoomItems { get => roomItems; set => SetProperty(ref roomItems, value); } public RoomSettingViewModel(DapperUtil dapperUtil) { this.dapperUtil = dapperUtil; RoomItems = new List(); } private List GetArchiProperties() { return dapperUtil.LoadModel("ROOM_DATA"); } private List GetConcourseLevelRooms() { var rooms = GetArchiProperties(); return rooms.FindAll(room => room.Level == "站厅层"); } private List GetPlatformLevelRooms() { var rooms = GetArchiProperties(); return rooms.FindAll(room => room.Level == "站台层"); } private void PerformSelectLevel(object obj) { if (obj is ComboBoxItem) { var comboboxItem = obj as ComboBoxItem; if (comboboxItem.Content.ToString() == "站厅层") { RoomItems = GetConcourseLevelRooms(); } if (comboboxItem.Content.ToString() == "站台层") { RoomItems = GetPlatformLevelRooms(); } } } private RelayCommand saveInputValues; public ICommand SaveInputValues { get { saveInputValues ??= new RelayCommand(PerformSaveInputValues); return saveInputValues; } } private void PerformSaveInputValues() { string sql = "update ROOM_DATA set InputValue = @InputValue where ID=@Id"; try { foreach (var roomItem in RoomItems) { dapperUtil.UpdateData(roomItem, sql); } } catch (Exception e) { Console.WriteLine(e); throw; } } } }