You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

185 lines
6.0 KiB

using Container.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Practices.Prism.ViewModel;
using Microsoft.Practices.Prism.Commands;
using System.ComponentModel;
using System.Windows;
using Container.Services;
namespace Container.Viewmodel
{
public class BuildingViewModel : NotificationObject
{
//public event PropertyChangedEventHandler PropertyChanged;
///
/// 当ComboBox选中项更改时发生
///
//public BuildingModel BuildingModel { set; get; }
private string Code;
public string code
{
get { return Code; }
set
{
Code = value;
this.RaisePropertyChanged("Code");
}
}
private string NAME;
public string name
{
get { return NAME; }
set
{
NAME = value;
this.RaisePropertyChanged("ID");
}
}
private bool isSelected;
public bool IsSelected
{
get { return isSelected; }
set
{
isSelected = value;
this.RaisePropertyChanged("isSelected");
}
}
//private BuildingModel _selectLocation;
//public BuildingModel SelectLocation
//{
// get
// {
// return this._selectLocation;
// }
// set
// {
// this._selectLocation = value;
// if (this.PropertyChanged != null)
// PropertyChanged(this, new PropertyChangedEventArgs("SelectLocation"));
// }
//}
//private ObservableCollection _locationRoad = null;
}
public class BuildingOperate : NotificationObject
{
public DelegateCommand DetailPlaceOrderCom { get; set; }
public DelegateCommand SelectMenuItemCom { get; set; }
private List<BuildingViewModel> buildingMenu;
public List<BuildingViewModel> BuildingMenu
{
get { return buildingMenu; }
set
{
buildingMenu = value;
this.RaisePropertyChanged("buildingMenu");
}
}
private string buildingid;
public string BuildingID
{
get { return buildingid; }
set
{
buildingid = value;
this.RaisePropertyChanged("buildingid");
}
}
public BuildingOperate(int type)
{
LoadBuilding(type);
}
public void LoadBuilding(int type)
{
App app = ((App)Application.Current);
if (type == 1)
{
this.BuildingMenu = new List<BuildingViewModel>();
for (int i = 0; i < app.Buildinginfo.Count; i++)
{
BuildingViewModel Buildinginfo = new BuildingViewModel();
Building BuildingsInfo = (Building)app.Buildinginfo[i];
Buildinginfo.code = BuildingsInfo.code;
Buildinginfo.name = BuildingsInfo.buildingName;
Buildinginfo.IsSelected = false;
BuildingMenu.Add(Buildinginfo);
//app.Buildings.FindAll(p => p.BNAME == "");
}
}
else
if (type == 2)
{
this.BuildingMenu = new List<BuildingViewModel>();
for (int i = 0; i < app.Floors.Count; i++)
{
BuildingViewModel Building = new BuildingViewModel();
Floor BuildingsInfo = (Floor)app.Floors[i];
Building.code = BuildingsInfo.code;
Building.name = BuildingsInfo.floorName;
Building.IsSelected = false;
BuildingMenu.Add(Building);
}
}
else if (type == 3)
{
this.BuildingMenu = new List<BuildingViewModel>();
for (int i = 0; i < app.DeviceTypeList.Count; i++)
{
BuildingViewModel Buildinginfo = new BuildingViewModel();
DeviceType BuildingsInfo = (DeviceType)app.DeviceTypeList[i];
Buildinginfo.code = BuildingsInfo.code;
Buildinginfo.name = BuildingsInfo.dictValue;
Buildinginfo.IsSelected = false;
BuildingMenu.Add(Buildinginfo);
//app.Buildings.FindAll(p => p.BNAME == "");
}
}
else if (type == 4) {
this.BuildingMenu = new List<BuildingViewModel>();
BuildingViewModel Buildinginfo = new BuildingViewModel();
Buildinginfo.code = "本地部署";
Buildinginfo.IsSelected = false;
BuildingMenu.Add(Buildinginfo);
BuildingViewModel Buildinginfo1 = new BuildingViewModel();
Buildinginfo1.code = "前置离线";
Buildinginfo1.IsSelected = false;
BuildingMenu.Add(Buildinginfo1);
BuildingViewModel Buildinginfo2 = new BuildingViewModel();
Buildinginfo2.code = "直联云";
Buildinginfo2.IsSelected = false;
BuildingMenu.Add(Buildinginfo2);
}
this.DetailPlaceOrderCom = new DelegateCommand(new Action(this.BuildingNAMEOrderComExecute));
this.SelectMenuItemCom = new DelegateCommand(new Action(this.SelectMenuItemComExecute));
}
private void BuildingNAMEOrderComExecute()
{
var selectedDishes = this.BuildingMenu.Where(i => i.IsSelected == true).Select(i => i.name).ToList();
}
private void SelectMenuItemComExecute()
{
this.BuildingID = this.BuildingMenu.Where(i => i.IsSelected == true).Select(i => i.code).ToString();
}
}
}