private void LogException(Exception ex) { ex = this.WrapCOMException(ex); var exceptionXml = new ExceptionXml(ex); DVDProfilerSerializer <ExceptionXml> .Serialize(_errorFile, exceptionXml); }
private void LogException(Exception ex) { ex = WrapCOMException(ex); ExceptionXml exceptionXml = new ExceptionXml(ex); DVDProfilerSerializer <ExceptionXml> .Serialize(ErrorFile, exceptionXml); }
private void OnUnhandledException(object sender, UnhandledExceptionEventArgs e) { if (e.ExceptionObject is Exception ex) { var exceptionXml = new ExceptionXml(ex); var fileName = this.IOServices.Path.Combine(Environment.MyDocumentsFolder, "Crash.xml"); SerializerHelper.Serialize(this.IOServices, fileName, exceptionXml); this.UIServices.ShowMessageBox(ex.Message, string.Empty, Buttons.OK, Icon.Error); } else { this.UIServices.ShowMessageBox(e.ExceptionObject?.ToString() ?? "Error", string.Empty, Buttons.OK, Icon.Error); } }
private static void TryWriteErrorFile(Exception ex) { try { ExceptionXml xml = new ExceptionXml(ex); String temp = Path.GetTempPath(); String file = Path.Combine(temp, "ProfileHistoryError.xml"); DVDProfilerSerializer <ExceptionXml> .Serialize(file, xml); MessageBox.Show(String.Format(MessageBoxTexts.CriticalError, ex.Message, file), MessageBoxTexts.CriticalErrorHeader, MessageBoxButtons.OK, MessageBoxIcon.Error); } catch { } }
internal ExceptionXml Process(string collectionFile, string mdfTargetFile) { ExceptionXml exceptionXml = null; DbContextTransaction transaction = null; try { CopyDatabaseFiles(mdfTargetFile); var collection = DVDProfilerSerializer <Profiler.Collection> .Deserialize(collectionFile); var profiles = collection.DVDList; //Phase 2: Fill Hashtables var cache = new CollectionCache(profiles); // "metadata=res://*/CollectionModel.csdl|res://*/CollectionModel.ssdl|res://*/CollectionModel.msl;provider=System.Data.SqlClient;provider connection string='data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\Collection.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework'" var connectionString = $@"metadata=res://*/CollectionModel.csdl|res://*/CollectionModel.ssdl|res://*/CollectionModel.msl;provider=System.Data.SqlClient;provider connection string='data source=(LocalDB)\MSSQLLocalDB;attachdbfilename={mdfTargetFile};integrated security=True;MultipleActiveResultSets=True;App=EntityFramework;';"; using (_context = new CollectionEntities(connectionString)) { //_context.Database.Log = Console.WriteLine; _context.Configuration.AutoDetectChangesEnabled = false; using (transaction = _context.Database.BeginTransaction()) { CheckDbVersion(); //Phase 3: Fill Basic Data Into Database var baseData = InsertBaseData(cache); //Phase 4: Fill DVDs into Database InsertData(profiles, baseData); transaction.Commit(); } } Feedback?.Invoke(this, new EventArgs <string>($"{(profiles?.Length ?? 0):#,##0} profiles transformed.")); } catch (Exception exception) { try { transaction.Rollback(); } catch { } try { if (File.Exists(mdfTargetFile)) { File.Delete(mdfTargetFile); } } catch { } var ex = exception; while (ex != null) { Feedback?.Invoke(this, new EventArgs <string>($"Error: {ex.Message} ")); ex = ex.InnerException; } exceptionXml = new ExceptionXml(exception); } return(exceptionXml); }