private void AddUpdate(RegionChange newRegionData) { //Output("Add update: " + newRegionData.Name); MySqlCommand cmd = new MySqlCommand(cmdAddUpdate, db); cmd.Parameters.AddWithValue("RegionHandle", newRegionData.RegionHandle); cmd.Parameters.AddWithValue("Type", newRegionData.Change); cmd.Parameters.AddWithValue("Name", newRegionData.Name); cmd.Parameters.AddWithValue("Access", (sbyte?)newRegionData.Access); cmd.Parameters.AddWithValue("X", newRegionData.X); cmd.Parameters.AddWithValue("Y", newRegionData.Y); cmd.Parameters.AddWithValue("AgentCount", newRegionData.AgentCount); int rowsAffected = 0; try { rowsAffected = cmd.ExecuteNonQuery(); } catch (Exception ex) { Output("Failed to add region '" + newRegionData.Name + "': " + ex.Message); } }
public void ProcessData(RegionData newRegionData) { if (RegionMap.ContainsKey(newRegionData.RegionHandle)) { RegionMap[newRegionData.RegionHandle].StillExists = true; RegionTable previousData = RegionMap[newRegionData.RegionHandle]; if (!previousData.IsEqualTo(newRegionData)) { Output("Region update for: " + previousData.Name); RegionChange changed = new RegionChange(); changed.RegionHandle = previousData.RegionHandle; changed.Change = RegionChange.ChangeType.Update; if (previousData.Name != newRegionData.Name) { Output(" Name: " + previousData.Name + " -> " + newRegionData.Name); changed.Name = newRegionData.Name; } if (previousData.Access != newRegionData.Access) { Output(" Access: " + previousData.Access + " -> " + newRegionData.Access); changed.Access = newRegionData.Access; } if (previousData.X != newRegionData.X) { Output(" X: " + previousData.X + " -> " + newRegionData.X); changed.X = newRegionData.X; } if (previousData.Y != newRegionData.Y) { Output(" Y: " + previousData.Y + " -> " + newRegionData.Y); changed.Y = newRegionData.Y; } if (previousData.AgentCount != newRegionData.AgentCount) { Output(" AgentCount: " + previousData.AgentCount + " -> " + newRegionData.AgentCount); changed.AgentCount = newRegionData.AgentCount; } UpdateRegion(newRegionData); RegionChanges.Add(changed); } } else { RegionChange changed = new RegionChange(); changed.RegionHandle = newRegionData.RegionHandle; changed.Change = RegionChange.ChangeType.Add; RegionChanges.Add(changed); //Output("New region: " + newRegionData.Name); AddRegion(newRegionData); } }