Пример #1
0
        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();
        }
Пример #2
0
        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!
        }