101 lines
2.6 KiB
C#
101 lines
2.6 KiB
C#
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
} |