private void Button_Click_2(object sender, RoutedEventArgs e) { try { BLL.AviaTicketXMLParser parser = new BLL.AviaTicketXMLParser(); AviaTicket ticket = parser.ParseTicket(this.ticketPath.Text).Result; using (AviaTicketModel db = new AviaTicketModel()) { db.AviaXMLTickets.Add(ticket); db.SaveChanges(); } AviaInvoice invoice = new Mapper(ticket).Map(); using (InvoiceContext db = new InvoiceContext()) { db.Invoices.Add(invoice); db.SaveChanges(); } oneTicketTextBox.Content = "Квиток додано до БД."; Thread.Sleep(1000); oneTicketTextBox.Content = "Оберiть новий квиток."; } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } }
private void Parse_Ticket(object sender, FileSystemEventArgs argv) { Task.Run(() => { try { watcher.EnableRaisingEvents = false; if (argv.ChangeType == WatcherChangeTypes.Changed) { BLL.AviaTicketXMLParser parser = new BLL.AviaTicketXMLParser(); AviaTicket ticket = parser.ParseTicket(argv.FullPath).Result; using (AviaTicketModel db = new AviaTicketModel()) { db.AviaXMLTickets.Add(ticket); db.SaveChanges(); } AviaInvoice invoice = new Mapper(ticket).Map(); using (InvoiceContext db = new InvoiceContext()) { db.Invoices.Add(invoice); db.SaveChanges(); } } } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } finally { this.watcher.EnableRaisingEvents = true; } }); }