Beispiel #1
0
        private void SaveFilesForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (DialogResult == DialogResult.Cancel)
            {
                return;
            }

            var listSelectedFiles = new List <SaveFileData>();

            foreach (SaveFileData fileData in bindingFiles)
            {
                if (fileData.Selected)
                {
                    listSelectedFiles.Add(fileData);
                }
            }

            if (listSelectedFiles.Count <= 0)
            {
                return;
            }

            foreach (var fileData in listSelectedFiles)
            {
                if (string.IsNullOrWhiteSpace(fileData.FileName) || !Utils.IsFullFileNameValid(Project.Current.MapPath(fileData.FileName)))
                {
                    XtraMessageBox.Show(this, "One or more of filenames are not valid", "Invalid filename(s)", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    e.Cancel = true;
                    return;
                }
            }

            var errors = new StringBuilder();

            foreach (var fileData in listSelectedFiles)
            {
                try
                {
                    fileData.ViewModel.SaveToFile(fileData.FileName);
                }
                catch (Exception ex)
                {
                    errors.AppendLine($"Cannot save file '{fileData.FileName}': {ex.Message}");
                }
            }

            if (errors.Length > 0)
            {
                MemoEditor.ShowMemo(this, "Errors", errors.ToString());
            }
        }