using System; using System.IO; using System.Windows; using System.Windows.Threading; using Gestor.Application.Views.Generic; using Gestor.Model.API; namespace Gestor.Application.Helpers; public static class Erro { public static void RegistrarErro(LogError log, bool abrirTela = true) { string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Gestor.Exceptions.log"); string contents = string.Format("CORRETORA: {1} - {2}{0} USUÁRIO LOGADO: {3}{0} VERSÃO: {4}{0} DATA: {5}{0} ERRO: {6} - {7}{0} HRESULT: {8}{0} HELPLINK: {9}{0} MESSAGE: {10}{0} SOURCE: {11}{0} STACKTRACE: {12}{0} MAQUINA: {13}{0} USUARIO MAQUINA: {14}{0} LINHA: {15}{0} OBJETO: {16}{0} {0}", Environment.NewLine, log.IdFornecedor, log.Fornecedor, log.UsuarioLogado, log.Versao, log.Data, log.IdErro, log.Erro, log.HResult, log.HelpLink, log.Message, log.Source, log.StackTrace, log.Maquina, log.UsuarioMaquina, log.Linha, log.Objeto); File.AppendAllText(path, contents); if (abrirTela) { ((DispatcherObject)Application.Current).Dispatcher.BeginInvoke((DispatcherPriority)4, (Delegate)(Action)delegate { ((Window)new ErrorWindow((TipoErro)log.IdErro)).ShowDialog(); }); } } }