private void DeleteSingleItem() { int s = 0; double tempACE = 0; bool deleted = false; // loop through everything for (int i = 0; i < StormIntensities.Items.Count; i++) { //V1.4: new version - support deleting multiple items if (StormIntensities.SelectedIndex == i) // if it is the same as the selected index { s = StormIntensities.SelectedIndex; StormIntensityNode sinTemp = (StormIntensityNode)StormIntensities.Items[i]; // cast... tempACE = sinTemp.ACE; deleted = true; StormIntensities.Items.RemoveAt(i); // remove the item at the selected index. Yay. } if (deleted == true) { if (i > s) { StormIntensityNode sin = (StormIntensityNode)StormIntensities.Items[i]; sin.Total -= tempACE; sin.DateTime = sin.DateTime.AddHours(-6); // yeah } } } StormIntensities.Items.Refresh(); }
private void DeleteMultipleItems(System.Collections.IList ItemsToRemove) { //v1.4 only double tempACE = 0; for (int i = 0; i < ItemsToRemove.Count - 1; i++) { StormIntensityNode SNode_ToBeDeleted = (StormIntensityNode)ItemsToRemove[i]; StormIntensities.Items.Remove(SNode_ToBeDeleted); for (int j = 0; j < StormIntensities.Items.Count - 1; j++) { if (j > i) { StormIntensityNode SNode_Change = (StormIntensityNode)StormIntensities.Items[j]; // the node to change SNode_Change.Total -= tempACE; if (SNode_Change.DateTime.Date != new DateTime(0001, 1, 1)) { SNode_Change.DateTime = SNode_Change.DateTime.AddHours(-6); // yeah } } } } }
private void OKButton_Click(object sender, RoutedEventArgs e) { try { // V1.4: If it ain't broke, don't fix it! (build 222) if (Ver14_DatePicker.SelectedDate == null) { MessageBox.Show("Error: You must select a date!", "ACE Calculator", MessageBoxButton.OK, MessageBoxImage.Warning); return; } MnWindow.CurrentDateTime = (DateTime)Ver14_DatePicker.SelectedDate; // add the time MnWindow.CurrentDateTime = MnWindow.CurrentDateTime.AddHours(Convert.ToInt32(Ver14_HoursBox.Text)); MnWindow.CurrentDateTime = MnWindow.CurrentDateTime.AddMinutes(Convert.ToInt32(Ver14_HoursBox.Text)); int addBackFactor = 0; for (int i = 0; i < MnWindow.StormIntensities.Items.Count; i++) { StormIntensityNode sin = (StormIntensityNode)MnWindow.StormIntensities.Items[i]; // subtract 6 each time. sin.DateTime = MnWindow.CurrentDateTime; MnWindow.CurrentDateTime = MnWindow.CurrentDateTime.AddHours(6); addBackFactor += 6; } MnWindow.StormIntensities.Items.Refresh(); } catch (ArgumentOutOfRangeException) { MessageBox.Show("Error: An invalid date or time was entered.", "ACE Calculator", MessageBoxButton.OK, MessageBoxImage.Warning); return; } catch (FormatException) { MessageBox.Show("Error: An invalid date or time was entered.", "ACE Calculator", MessageBoxButton.OK, MessageBoxImage.Warning); return; } this.Close(); // closes the window which implicitly destroys the class and thus makes it not unsafe hopefully! }