public Task <AviaTicket> ParseTicket(string path) { return(Task.Run(() => { xmlDocument = new XmlDocument(); AviaTicket ticket = new AviaTicket(); try { using (XmlReader reader = XmlReader.Create(path)) { xmlDocument.Load(reader); } ticket.RecordLocator = GetValueOfProperty("RecordLocator"); ticket.CreationDate = GetValueOfProperty("CreationDate"); ticket.OfficeidBooking = GetValueOfProperty("OfficeidBooking"); ticket.AgentSignBooking = GetValueOfProperty("AgentSignBooking"); ticket.ChangeDate = GetValueOfProperty("ChangeDate"); ticket.LastTransactionDate = GetValuesOfProperty("LastTransactionDate"); ticket.NameElement = GetNameElements("NameElement"); } catch (Exception ex) { MessageBox.Show($"Error: something went wrong with open XML file.\n{ex.Message}", "Error", MessageBoxButtons.OK); } return ticket; })); }
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; } }); }
public Mapper(AviaTicket ticket) { this.ticket = ticket; }