protected String AskSavePath(SaleDO sale)
        {
            bool createSaleFolder = false;
            if (ApplicationController.UserSettings.CreateSaleFolder == null)
            {
                using (var dialog = new CreateSaleFolerDialog())
                {
                    createSaleFolder = (dialog.ShowDialog() == DialogResult.Yes);
                    if (dialog.RememberSelection)
                    {
                        ApplicationController.UserSettings.CreateSaleFolder = createSaleFolder;
                        //ApplicationState.GetHandle().Save();
                    }
                }
            }
            else
            {
                createSaleFolder = ApplicationController.UserSettings.CreateSaleFolder.Value;
            }

            using (var saveFileDialog = new System.Windows.Forms.SaveFileDialog())
            {
                saveFileDialog.AutoUpgradeEnabled = true;
                saveFileDialog.CustomPlaces.Add(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\CruiseFiles");
                saveFileDialog.InitialDirectory = ApplicationController.UserSettings.CruiseSaveLocation;
                saveFileDialog.DefaultExt = "cruise";
                saveFileDialog.Filter = "Cruise files(*.cruise)|*.cruise";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string fileName = saveFileDialog.FileName;
                    string dir = System.IO.Path.GetDirectoryName(fileName);
                    ApplicationController.UserSettings.CruiseSaveLocation = dir;

                    if (createSaleFolder)
                    {
                        dir += sale.ToString("\\[SaleNumber] [Name]\\", null);
                        if (!System.IO.Directory.Exists(dir))
                        {
                            System.IO.Directory.CreateDirectory(dir);
                        }
                        return dir + System.IO.Path.GetFileName(saveFileDialog.FileName);
                    }
                    return saveFileDialog.FileName;
                }
                return null;
            }
        }