Пример #1
0
        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;
            }));
        }
Пример #2
0
 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);
     }
 }
Пример #3
0
 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;
         }
     });
 }
Пример #4
0
 public Mapper(AviaTicket ticket)
 {
     this.ticket = ticket;
 }