Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Xml.Serialization;
- using System.IO;
- using nu.mrorange;
- using nu.mrorange.config;
- using nu.mrorange.search;
- using nu.mrorange.crs;
- using System.Drawing;
- using System.Threading;
- using nu.mrorange.util.log;
- namespace MrOSearchApp2
- {
- public partial class Form1 : Form
- {
- private string hostName = "", databaseName = "", userName = "sa", passWord = "homermad!";
- int partnerId = -1;
- Thread mainSearchThread;
- public Form1()
- {
- InitializeComponent();
- btnSearch.Enabled = false;
- datePickerDeparture.Value = DateTime.Now.AddDays(7);
- datePickerArrival.Value = DateTime.Now.AddDays(14);
- txtTo.Text = "STO";
- txtFrom.Text = "PAR";
- Server[] servers = GetServers();
- int serverCount = 0;
- foreach (Server server in servers)
- {
- passWord = server.passWord;
- //string serverName = server;//.Split('.')[0];
- //serverName = serverName.Substring(0, 1).ToUpper() + serverName.Remove(0, 1);
- string[] databases;
- try
- {
- databases = Database.GetDatabases(server.IpAddress, server.user, server.passWord);
- }
- catch (Exception ex)
- {
- MessageBox.Show(this, ex.Message);
- return;
- }
- List<TreeNode> nodes = new List<TreeNode>();
- foreach (string database in databases)
- {
- if (
- !database.Contains("avail") &&
- !database.Contains("common") &&
- database != "information_schema" &&
- database != "test" &&
- database != "innodb_status" &&
- database != "mysql")
- nodes.Add(new TreeNode(database));
- }
- if (nodes.Count == 0)
- nodes.Add(new TreeNode("No databases!"));
- TreeNode node = new TreeNode(server.Name, nodes.ToArray());
- node.Name = server.IpAddress;
- TreeView1.Nodes.Add(node);
- serverCount++;
- }
- }
- private static Server[] GetServers()
- {
- XmlSerializer serializer = new XmlSerializer(typeof(List<Server>));
- StreamReader sr = new StreamReader("Servers.xml");
- List<Server> servers = (List<Server>)serializer.Deserialize(sr);
- return servers.ToArray();
- }
- private void TreeView1_DoubleClick(object sender, EventArgs e)
- {
- ComboBoxCustomer.Items.Clear();
- databaseName = TreeView1.SelectedNode.Text;
- hostName = TreeView1.SelectedNode.Parent.Name;
- FillPartnerDropdown();
- }
- private void FillPartnerDropdown()
- {
- //Fill the Partner dropdown
- ComboBoxCustomer.Items.Clear();
- string[] partners = Database.GetPartners(
- TreeView1.SelectedNode.Parent.Name,
- "sa",
- "homermad!",
- TreeView1.SelectedNode.Text);
- ComboBoxCustomer.Items.Add("0 - BASESITE");
- if (partners != null)
- {
- foreach (string partner in partners)
- {
- ComboBoxCustomer.Items.Add(partner);
- }
- }
- ComboBoxCustomer.SelectedIndex = 0;
- }
- private void btnSearch_Click(object sender, EventArgs e)
- {
- treeViewSearchInfo.Nodes.Clear();
- listViewItinerary.Items.Clear();
- listViewRowInfo.Items.Clear();
- mainSearchThread = new Thread(new ThreadStart(DoSearch));
- mainSearchThread.Start();
- }
- //ListViewItem chosenItem = new ListViewItem();
- //chosenItem = listViewItinerary.SelectedItems[0];
- private void DoSearch()
- {
- UpdateButton(false);
- UpdateProgressBar(true);
- Thread progressBarThread = new Thread(new ThreadStart(RunProgressBar));
- progressBarThread.Start();
- string connectionString = "Server=" + hostName + ";Database=" + databaseName + ";User ID=" + userName + "; Password=" + passWord + ";";
- string[] ageOfChildrenString = txtAgeOfChildren.Text.Split(',');
- decimal child;
- decimal[] ageChildren;
- if (ageOfChildrenString.All(number => Decimal.TryParse(number, out child)));
- {
- ageChildren = Array.ConvertAll<string, decimal>(ageOfChildrenString, Convert.ToDecimal);
- }
- ConfigurationManager.DatabaseConnectionString = connectionString;
- PartnerConfig partnerConfig = new PartnerConfig(partnerId,true);
- AirSearchParameter airParam = new AirSearchParameter();
- airParam.FromCity = txtFrom.Text;
- airParam.ToCity = txtTo.Text;
- airParam.DepartureDate = DateTime.Parse(datePickerDeparture.Text);
- airParam.ReturnDate = DateTime.Parse(datePickerArrival.Text);
- airParam.Currency = txtCurrency.Text;
- airParam.Adults = Convert.ToInt32(NumericAdult.Value);
- airParam.NonAdultAges = ageChildren;
- //airParam.NonAdultAges = txtNrOfChildren.Text.Split(',');
- airParam.OneWay = chkOneWay.Checked;
- airParam.PreferredCarriers = txtPrefCarrier.Text.Split(',');
- airParam.ExcludedCarriers = txtExclCarrier.Text.Split(',');
- airParam.RestrictToCarriers = txtRestrCarriers.Text.Split(',');
- airParam.PartnerConfig = partnerConfig;
- try
- {
- List<Itineraries> itins = BookingEngine.GetAirFaresInterface(airParam);
- foreach (Itinerary itinerary in itins[0])
- {
- ListViewItem item = new ListViewItem(itinerary.Id.ToString()); //ItineraryID
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.CRS.ToString()));
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.MainCarrier));
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.Pricing.BaseFarePerAdult.ToString()));
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.Pricing.TaxPerAdult.ToString()));
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (itinerary.Pricing.BaseFarePerAdult + itinerary.Pricing.TaxPerAdult).ToString()));
- //Nåt verkar vara fel med uträkningen.
- item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (itinerary.Pricing.BaseFarePerAdult + itinerary.Pricing.TaxPerAdult +
- itinerary.Pricing.BaseFareAddonPerAdult + itinerary.Pricing.TaxAddonPerAdult).ToString()));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Subject));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Message));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.IpAddress));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Url));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.ExceptionId.ToString()));
- //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.BrowserId.ToString()));
- //listViewItinerary.Items.Add(item);
- UpdateListView(item);
- //firstItin = itinerary.Id; //id
- }
- int searchCount = 0;
- //progressBar1.Maximum = itins[0].searchInfo.Count;
- foreach (SearchInfo searchInfo in itins[0].searchInfo)
- {
- List<TreeNode> nodes = new List<TreeNode>();
- searchCount += 1;
- //progressBar1.Value += 1;
- nodes.Add(new TreeNode("CRSName: " + searchInfo.CRStype.ToString()));
- nodes.Add(new TreeNode("Search Time: " + searchInfo.SearchTime));
- nodes.Add(new TreeNode("Itinerary Count: " + searchInfo.ItineraryCount));
- nodes.Add(new TreeNode("SearchInfo: " + searchInfo.MiscSearchInfo));
- nodes.Add(new TreeNode("Exception: " + searchInfo.ExceptionMessage));
- TreeNode node = new TreeNode("Search " + searchCount, nodes.ToArray());
- UpdateTreeView(node);
- }
- //Read blackbox
- foreach (nu.mrorange.util.log.BlackBoxEntry entry in airParam.PartnerConfig.BlackBox.GetCopyOfEntries())
- {
- listBoxBlackboxOutput.Items.Add(entry.ToString());
- //partnerConfig.BlackBox.Add(listBoxBlackboxOutput.ToString());
- //listBoxBlackboxOutput.Add(partnerConfig.BlackBox.ToString());
- //entry.ToString();
- //Textbox.add(entry.ToString()));
- // en
- // //Timestamp
- }
- }
- catch (Exception ex)
- {
- //DisplayNameAttribute error Message.
- MessageBox.Show(ex.Message);
- //Console.Write(ex.StackTrace);
- }
- finally
- {
- UpdateButton(true);
- UpdateProgressBar(false);
- progressBarThread.Abort();
- }
- }
- void ReadBlackBox(BlackBoxEntry item)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate()
- {
- BlackBoxEntry(item);
- });
- return;
- }
- listBoxBlackboxOutput.Items.Add(item).ToString();
- }
- private void BlackBoxEntry(BlackBoxEntry item)
- {
- throw new NotImplementedException();
- }
- private void RunProgressBar()
- {
- while (true)
- {
- if (progressBar1.Value == progressBar1.Maximum)
- {
- SetValueProgressBar(0);
- }
- SetValueProgressBar(progressBar1.Value + 1);
- Thread.Sleep(200);
- }
- }
- void UpdateListView(ListViewItem item)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate() {
- UpdateListView(item);
- });
- return;
- }
- listViewItinerary.Items.Add(item).ToString();
- }
- void UpdateTreeView(TreeNode item)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate()
- {
- UpdateTreeView(item);
- });
- return;
- }
- treeViewSearchInfo.Nodes.Add(item);
- }
- void UpdateButton(bool enable)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate()
- {
- UpdateButton(enable);
- });
- return;
- }
- btnSearch.Enabled = enable;
- }
- void UpdateProgressBar(bool enable)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate()
- {
- UpdateProgressBar(enable);
- });
- return;
- }
- progressBar1.Visible = enable;
- }
- void SetValueProgressBar(int value)
- {
- if (InvokeRequired)
- {
- this.Invoke((MethodInvoker)delegate()
- {
- SetValueProgressBar(value);
- });
- return;
- }
- progressBar1.Value = value;
- }
- private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
- {
- btnSearch.Enabled = true;
- }
- private void ComboBoxCustomer_SelectedIndexChanged(object sender, EventArgs e)
- {
- partnerId = int.Parse(ComboBoxCustomer.Text.Substring(0, 3).Replace("-", "").Trim());
- }
- private void datePickerArrival_ValueChanged(object sender, EventArgs e)
- {
- }
- private void listViewItinerary_SelectedIndexChanged(object sender, EventArgs e)
- {
- listViewRowInfo.Items.Clear();
- PartnerConfig partnerConfig = new PartnerConfig(partnerId);
- {
- foreach (ListViewItem item in listViewItinerary.Items)
- {
- if (item.Selected == true)
- {
- int itineraryid = int.Parse(item.SubItems[0].Text);
- Itinerary itinerary = nu.mrorange.BookingEngine.GetItinerary(itineraryid, partnerConfig);
- foreach (Segment seg in itinerary.Segments)
- {
- ListViewItem item2 = new ListViewItem(seg.Id.ToString()); //ItineraryID
- item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.DateTime1.ToString("hh:mm")));
- item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.DateTime2.ToString("hh:mm")));
- item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.City2.ToString()));
- item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.City1.ToString()));
- item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.Carrier + "-" + seg.FlightNumber.ToString()));
- listViewRowInfo.Items.Add(item2);
- }
- }
- }
- }
- }
- private void txtTo_TextChanged(object sender, EventArgs e)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement