public string SaveAs()
        {
            if (!Directory.Exists(_defaultSerializePath))
            {
                Directory.CreateDirectory(_defaultSerializePath);
            }

            var dialog = new SaveFileDialog
            {
                InitialDirectory = SerializeFile == null ? _defaultSerializePath : Path.GetDirectoryName(SerializeFile),
                DefaultExt       = "xml",
                Filter           = FileFilter
            };

            var result = dialog.STAShowDialog();

            if (result == DialogResult.OK)
            {
                try
                {
                    using (var fs = dialog.OpenFile())
                    {
                        FaceDatabase.Serialize(fs);
                    }
                }
                catch (Exception exc)
                {
                    MessageBox.Show(
                        $"Error: An error occured while saving the database to {dialog.FileName}:{Environment.NewLine}{exc}");
                }

                SerializeFile = dialog.FileName;
            }

            return(SerializeFile);
        }