private Dictionary <int, List <FleetTemplate> > GetFleetTemplatesByFactionId(IDbConnection connection, Dictionary <int, List <ShipTemplate> > factionShipMap, Dictionary <int, List <int> > fleetShipMap) { Dictionary <int, List <FleetTemplate> > factionTemplateMap = new Dictionary <int, List <FleetTemplate> >(); IDbCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM FleetTemplate"; var reader = command.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32(0); int factionId = reader.GetInt32(1); string name = reader[2].ToString(); List <ShipTemplate> baseList = factionShipMap[factionId]; List <ShipTemplate> fleetShipTemplateList = new List <ShipTemplate>(); foreach (int shipTemplateId in fleetShipMap[id]) { fleetShipTemplateList.Add(baseList.First(st => st.Id == shipTemplateId)); } FleetTemplate fleetTemplate = new FleetTemplate(id, name, fleetShipTemplateList); if (!factionTemplateMap.ContainsKey(factionId)) { factionTemplateMap[factionId] = new List <FleetTemplate>(); } factionTemplateMap[factionId].Add(fleetTemplate); } return(factionTemplateMap); }
public void Serialize_Deserialize() { FleetTemplate fleetTemplate = new FleetTemplate(); fleetTemplate.Add(new AGVTemplate() { IPV4String = "192.168.0.1", PoseDataString = "0,0,90" }); fleetTemplate.Add(new AGVTemplate() { IPV4String = "192.168.0.2", PoseDataString = "10,0,90" }); string json = fleetTemplate.ToJson(); Assert.IsNotNull(json); string filePath = Path.GetTempFileName(); File.WriteAllText(filePath, json); FleetTemplate fleetTemplateLoaded = JsonFactory.FleetTemplateFromFile(filePath); Assert.IsNotNull(fleetTemplateLoaded); CollectionAssert.IsNotEmpty(fleetTemplateLoaded.AGVTemplates); }
private void HandleLoad() { OpenFileDialog dialog = DialogFactory.GetOpenJsonDialog(); if (dialog.ShowDialog() == true) { FleetTemplate parsedTemplate = JsonFactory.FleetTemplateFromFile(dialog.FileName); if (parsedTemplate != null) { if (Model != null) { Model.FleetTemplate = parsedTemplate; } TemplateUpdatedMessage message = new TemplateUpdatedMessage(parsedTemplate); Messenger.Default.Send(message); } } }
public TemplateUpdatedMessage(FleetTemplate fleetTemplate) { FleetTemplate = fleetTemplate; }