// Save and publish "Database ID" of the seleceted Item ( to be loaded later ) private void OnSelected(Window win) { foreach (SelectionDialogModel m in TableData) { if (m.SelectedRow != null) { int itemID = Int32.Parse(m.SelectedRow.Row["ID"].ToString()); SelectedIDEventArgs eventargs = new SelectedIDEventArgs(itemID); eventargs.Addition = m.Table.TableName; this._eventAggregator.GetEvent<SelectedIDEvent>().Publish(eventargs); win.Close(); } } }
// --------------------------------------------------------------------------------- // --------------------------- ITEM SELECTION FUNCTIONS ---------------------------- // --------------------------------------------------------------------------------- // Load new Item form DB, depending on the "ItemType" and // the Item-DatabaseID, returned from the "SelectionDialogView" private void LoadNewItem(SelectedIDEventArgs e) { if (this._updateItem.Second == ItemType.HARDPOINT) { int maxclass = this.Data.Hardpoints[_updateItem.First].MaxClass; HardpointModel tmp = new HardpointModel(this._loader.ItemID, maxclass); if(e.Addition != "empty") tmp = this._loader.loadHardpoint(e.ItemID, maxclass); List<HardpointModel> hps = this.Data.Hardpoints; hps[this._updateItem.First] = tmp; this.Data.Hardpoints = new List<HardpointModel>(); this.Data.Hardpoints = hps; } else if (this._updateItem.Second == ItemType.BULKHEADS) { var tmp = this._loader.loadBasic<BulkheadModel>(e.ItemID, Data.SelectedBulkhead.MaxClass); List<BulkheadModel> bhm = new List<BulkheadModel>() { tmp }; this.Data.Bulkheads = new List<BulkheadModel>(); this.Data.Bulkheads = bhm; } else if (this._updateItem.Second == ItemType.POWERPLANT) { var tmp = this._loader.loadBasic<PowerPlantModel>(e.ItemID, Data.SelectedPowerPlant.MaxClass); List<PowerPlantModel> ppm = new List<PowerPlantModel>() { tmp }; this.Data.PowerPlants = new List<PowerPlantModel>(); this.Data.PowerPlants = ppm; } else if (this._updateItem.Second == ItemType.THURSTER) { var tmp = this._loader.loadBasic<ThrusterModel>(e.ItemID, Data.SelectedThruster.MaxClass); List<ThrusterModel> tm = new List<ThrusterModel>() { tmp }; this.Data.Thrusters = new List<ThrusterModel>(); this.Data.Thrusters = tm; } else if (this._updateItem.Second == ItemType.FSD) { var tmp = this._loader.loadBasic<FSDModel>(e.ItemID, Data.SelectedFSD.MaxClass); List<FSDModel> fsdm = new List<FSDModel>() { tmp }; this.Data.FSDs = new List<FSDModel>(); this.Data.FSDs = fsdm; } else if (this._updateItem.Second == ItemType.LIFESUPPORT) { var tmp = this._loader.loadBasic<LifeSupportModel>(e.ItemID, Data.SelectedLifeSupport.MaxClass); List<LifeSupportModel> lsms = new List<LifeSupportModel>() { tmp }; this.Data.LifeSupports = new List<LifeSupportModel>(); this.Data.LifeSupports = lsms; } else if (this._updateItem.Second == ItemType.POWERDISTRIB) { var tmp = this._loader.loadBasic<PowerDistributorModel>(e.ItemID, Data.SelectedPowerDistrib.MaxClass); List<PowerDistributorModel> pdms = new List<PowerDistributorModel>() { tmp }; this.Data.PowerDistributors = new List<PowerDistributorModel>(); this.Data.PowerDistributors = pdms; } else if (this._updateItem.Second == ItemType.SENSORES) { var tmp = this._loader.loadBasic<SensorsModel>(e.ItemID, Data.SelectedSensor.MaxClass); List<SensorsModel> sms = new List<SensorsModel>() { tmp }; this.Data.Sensors = new List<SensorsModel>(); this.Data.Sensors = sms; } else if (this._updateItem.Second == ItemType.FUELTANK) { var tmp = this._loader.loadBasic<FuelTankModel>(e.ItemID, Data.SelectedFuelTank.MaxClass); List<FuelTankModel> ftms = new List<FuelTankModel>() { tmp }; this.Data.FuelTanks = new List<FuelTankModel>(); this.Data.FuelTanks = ftms; } else if (this._updateItem.Second == ItemType.UTILITY) { UtilityModel tmp = new UtilityModel(this._loader.ItemID); if (e.Addition != "empty") tmp = this._loader.loadUtility(e.ItemID, e.Addition); List<UtilityModel> ums = this.Data.UtilityMounts; ums[this._updateItem.First] = tmp; this.Data.UtilityMounts = new List<UtilityModel>(); this.Data.UtilityMounts = ums; } else if (this._updateItem.Second == ItemType.INTERNAL) { int maxclass = this.Data.InternalComps1[_updateItem.First].MaxClass; InternalModel tmp = new InternalModel(this._loader.ItemID, maxclass); if (e.Addition != "empty") tmp = this._loader.loadInternal(e.ItemID, e.Addition, maxclass); List<InternalModel> ints = this.Data.InternalComps1; ints[this._updateItem.First] = tmp; this.Data.InternalComps1 = new List<InternalModel>(); this.Data.InternalComps1 = ints; } else if (this._updateItem.Second == ItemType.INTERNALX) { int maxclass = this.Data.InternalComps2[_updateItem.First].MaxClass; InternalModel tmp = new InternalModel(this._loader.ItemID, maxclass); if (e.Addition != "empty") tmp = this._loader.loadInternal(e.ItemID, e.Addition, maxclass); List<InternalModel> ints = this.Data.InternalComps2; ints[this._updateItem.First] = tmp; this.Data.InternalComps2 = new List<InternalModel>(); this.Data.InternalComps2 = ints; } // Fire Event, when the Outfitting Item was changed OutfittingChangedEventArgs eventargs = new OutfittingChangedEventArgs(this.Data, false); this._eventAggregator.GetEvent<OutfittingChangedEvent>().Publish(eventargs); }
private void OnEmpty(Window win) { SelectedIDEventArgs eventargs = new SelectedIDEventArgs(0); eventargs.Addition = "empty"; this._eventAggregator.GetEvent<SelectedIDEvent>().Publish(eventargs); win.Close(); }