private void ClientOrderEditDialog_Closing(object sender, CancelEventArgs e)
        {
            MethodResult methodResult = this.m_ClientOrderClone.IsOkToInsert();

            if (methodResult.Success == true)
            {
                APIResult clientOrderSaveResult = this.m_ClientOrderClone.Save();
                if (clientOrderSaveResult.Status == "ERROR")
                {
                    MessageBox.Show("An error occurred saving your work, an email has been sent to the development team to fix the problem. The application will close now.");
                    System.Windows.Application.Current.Shutdown();
                }
                else
                {
                    this.m_ClientOrder.UpdateFromClone(this.m_ClientOrderClone);
                }
            }
            else
            {
                MessageBoxResult messageBoxResult = MessageBox.Show(methodResult.GetMessage(), "Continue without saving?", MessageBoxButton.YesNo);
                if (messageBoxResult == MessageBoxResult.No)
                {
                    e.Cancel = true;
                }
            }
        }
        private void ButtonCategorySearchTypePrint_Click(object sender, RoutedEventArgs e)
        {
            Management.ClientOrders clientOrders = new Management.ClientOrders(this.m_ClientOrderCollection);
            MethodResult            methodResult = clientOrders.CreateReport();

            try
            {
                Process          p    = new Process();
                ProcessStartInfo info = new ProcessStartInfo(methodResult.GetMessage());
                p.StartInfo = info;
                p.Start();
            }
            catch
            {
                MessageBox.Show($"The spreadsheet was written to the following location: {methodResult.GetMessage()}");
            }
        }