| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using Microsoft.Win32;
- using System.IO;
- using System.Windows;
- namespace AGEHAB.RelatorioSeadIpasgo.Presentation.Services;
- public class UserDialogService : IUserDialogService
- {
- public string? EscolherArquivoParaSalvar(string titulo, string filtro, string extensaoPadrao, string caminhoAtual)
- {
- var dialog = new SaveFileDialog
- {
- Title = titulo,
- Filter = filtro,
- DefaultExt = extensaoPadrao,
- AddExtension = true,
- OverwritePrompt = false,
- FileName = Path.GetFileName(caminhoAtual),
- InitialDirectory = ObterDiretorioInicial(caminhoAtual)
- };
- return dialog.ShowDialog(ObterJanelaPrincipal()) == true ? dialog.FileName : null;
- }
- public string? EscolherPasta(string titulo, string pastaAtual)
- {
- var dialog = new OpenFolderDialog
- {
- Title = titulo,
- InitialDirectory = Directory.Exists(pastaAtual)
- ? pastaAtual
- : Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
- };
- return dialog.ShowDialog(ObterJanelaPrincipal()) == true ? dialog.FolderName : null;
- }
- public bool ConfirmarSubstituicao(string caminhoArquivo)
- {
- var resultado = MessageBox.Show(
- ObterJanelaPrincipal(),
- $"O arquivo já existe:\n\n{caminhoArquivo}\n\nDeseja substituir?",
- "Substituir arquivo",
- MessageBoxButton.YesNo,
- MessageBoxImage.Question);
- return resultado == MessageBoxResult.Yes;
- }
- public void Informar(string mensagem, string titulo)
- {
- MessageBox.Show(ObterJanelaPrincipal(), mensagem, titulo, MessageBoxButton.OK, MessageBoxImage.Information);
- }
- public void Alertar(string mensagem, string titulo)
- {
- MessageBox.Show(ObterJanelaPrincipal(), mensagem, titulo, MessageBoxButton.OK, MessageBoxImage.Warning);
- }
- public void ExibirErro(string mensagem)
- {
- MessageBox.Show(ObterJanelaPrincipal(), mensagem, "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
- }
- private static Window ObterJanelaPrincipal()
- {
- return System.Windows.Application.Current.MainWindow;
- }
- private static string ObterDiretorioInicial(string caminhoAtual)
- {
- var diretorio = Path.GetDirectoryName(caminhoAtual);
- if (!string.IsNullOrWhiteSpace(diretorio) && Directory.Exists(diretorio))
- {
- return diretorio;
- }
- return Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
- }
- }
|