private void CommitNameEdit(string oldName, string newName) { var duplicate = Tracks.Any(t => t != editingButton.Tag && t.Name == newName); if (duplicate) { MessageBox.Show(T._("Ein Gleis mit der Bezeichnung {0} ist bereits vorhanden. Bitte wählen Sie einen anderen Namen!", newName), MessageBoxType.Error); return; } // Streckengleise umbenennen DefaultTrackLeft.ReplaceAllValues(editingButton.Tag.Name, newName); DefaultTrackRight.ReplaceAllValues(editingButton.Tag.Name, newName); // Ankunfts- und Abfahrtsgleise zum umbenennen stagen if (TrackRenames.ContainsKey(newName)) { TrackRenames.Remove(newName); } else if (TrackRenames.ContainsValue(oldName)) { var k = TrackRenames.First(kvp => kvp.Value == oldName).Key; TrackRenames[k] = newName; } else if (!TrackRenames.ContainsKey(oldName) && !TrackRenames.ContainsValue(newName)) { TrackRenames.Add(oldName, newName); } editingButton.Tag.Name = newName; Invalidate(); editingButton = null; }
private void DeleteBtn_Click(object sender, EventArgs e) { var btn = (RenderBtn <Track>)sender; Tracks.Remove(btn.Tag); var firstName = Tracks.FirstOrDefault()?.Name; DefaultTrackLeft.ReplaceAllValues(btn.Tag.Name, firstName); DefaultTrackRight.ReplaceAllValues(btn.Tag.Name, firstName); trackRemoves.Add(btn.Tag.Name); Invalidate(); }