Ejemplo n.º 1
0
        public ChooseSaveErrorResult ChooseSaveError(FileName fileName, string message, string dialogName, Exception exceptionGot, bool chooseLocationEnabled)
        {
            ChooseSaveErrorResult r = ChooseSaveErrorResult.Ignore;

restartlabel:
            var dlg = new SaveErrorChooseDialog(fileName, message, dialogName, exceptionGot, chooseLocationEnabled);

            ((GuiFactoryServiceWpfWin)Current.Gui).ShowDialog(dlg);

            switch (dlg.DetailedDialogResult)
            {
            case SaveErrorChooseDialog.SaveErrorChooseDialogResult.ChooseLocation:
            {
                // choose location:
                var fdiag = new SaveFileDialog
                {
                    OverwritePrompt = true,
                    AddExtension    = true,
                    CheckFileExists = false,
                    CheckPathExists = true,
                    Title           = "Choose alternate file name",
                    FileName        = fileName
                };
                if (fdiag.ShowDialog() == true)
                {
                    r = ChooseSaveErrorResult.SaveAlternative(FileName.Create(fdiag.FileName));
                    break;
                }
                else
                {
                    goto restartlabel;
                }
            }

            case SaveErrorChooseDialog.SaveErrorChooseDialogResult.Retry:
                r = ChooseSaveErrorResult.Retry;
                break;

            default:
                r = ChooseSaveErrorResult.Ignore;
                break;
            }

            return(r);
        }