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 buildingMenu; public List 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(); 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(); 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(); 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 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(); } } }