private void ChangeDisplayOrder(Direction direction) { RaceModel swapRaceModel; int saveSequence; int selected; //Turn off change events AllowChangeEvents = false; swapRaceModel = new RaceModel(); if (direction == Direction.Up) { swapRaceModel.Initialize(ModelofRace.Sequence - 1); } else { swapRaceModel.Initialize(ModelofRace.Sequence + 1); } if (swapRaceModel.Id != Guid.Empty) { saveSequence = ModelofRace.Sequence; ModelofRace.Sequence = swapRaceModel.Sequence; swapRaceModel.Sequence = 255; //swap sequences such that the database wont' complain about duplicate entries swapRaceModel.SaveSequence(); ModelofRace.SaveSequence(); swapRaceModel.Sequence = saveSequence; swapRaceModel.SaveSequence(); if (direction == Direction.Up) { RaceListBox.SelectedIndex--; } else { RaceListBox.SelectedIndex++; } //repopulate the list box to show the new order selected = RaceListBox.SelectedIndex; RaceListBox.Items.Clear(); PopulateRaceListBox(); RaceListBox.SelectedIndex = selected; } //Turn change events back on AllowChangeEvents = true; }
private void OnDeleteRaceButtonClick(object sender, EventArgs e) { int selection; RaceModel nextModel; int nextSequence; ModelofRace.Delete(); //We need to fix the sequence numbers nextSequence = ModelofRace.Sequence + 1; nextModel = new RaceModel(); nextModel.Initialize(nextSequence); while (nextModel.Id != Guid.Empty) { nextModel.Sequence--; nextModel.SaveSequence(); nextSequence++; nextModel = new RaceModel(); nextModel.Initialize(nextSequence); } //Lets reset the RaceList Box selection = RaceListBox.SelectedIndex - 1; if (selection < 0) { selection = 0; } RaceListBox.Items.Clear(); PopulateRaceListBox(); AllowChangeEvents = false; RaceListBox.SelectedIndex = selection; AllowChangeEvents = true; //Now we can reset our flags and fields ResetFieldsandFlags(RaceListBox.SelectedItem.ToString()); }