Files
SzmediTools/Szmedi.RvKits/Civil/RoomSettingViewModel.cs

101 lines
2.6 KiB
C#
Raw Normal View History

2025-09-16 16:06:41 +08:00

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<object> selectLevel;
private List<RoomItem> roomItems;
public ICommand SelectLevel
{
get
{
selectLevel ??= new RelayCommand<object>(PerformSelectLevel);
return selectLevel;
}
}
public List<RoomItem> RoomItems
{
get => roomItems;
set => SetProperty(ref roomItems, value);
}
public RoomSettingViewModel(DapperUtil dapperUtil)
{
this.dapperUtil = dapperUtil;
RoomItems = new List<RoomItem>();
}
private List<RoomItem> GetArchiProperties()
{
return dapperUtil.LoadModel<RoomItem>("ROOM_DATA");
}
private List<RoomItem> GetConcourseLevelRooms()
{
var rooms = GetArchiProperties();
return rooms.FindAll(room => room.Level == "站厅层");
}
private List<RoomItem> 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;
}
}
}
}