Advertisement
Guest User

Untitled

a guest
May 14th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.93 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Xml.Serialization;
  10. using System.IO;
  11. using nu.mrorange;
  12. using nu.mrorange.config;
  13. using nu.mrorange.search;
  14. using nu.mrorange.crs;
  15. using System.Drawing;
  16. using System.Threading;
  17.  
  18. namespace MrOSearchApp2
  19. {
  20. public partial class Form1 : Form
  21. {
  22. private string hostName = "", databaseName = "", userName = "sa", passWord = "homermad!";
  23. int partnerId = -1;
  24. Thread mainSearchThread;
  25. public Form1()
  26. {
  27. InitializeComponent();
  28.  
  29. btnSearch.Enabled = false;
  30.  
  31. datePickerDeparture.Value = DateTime.Now.AddDays(7);
  32. datePickerArrival.Value = DateTime.Now.AddDays(14);
  33.  
  34. txtTo.Text = "STO";
  35. txtFrom.Text = "PAR";
  36.  
  37. Server[] servers = GetServers();
  38. int serverCount = 0;
  39. foreach (Server server in servers)
  40. {
  41. passWord = server.passWord;
  42. //string serverName = server;//.Split('.')[0];
  43. //serverName = serverName.Substring(0, 1).ToUpper() + serverName.Remove(0, 1);
  44. string[] databases;
  45. try
  46. {
  47. databases = Database.GetDatabases(server.IpAddress, server.user, server.passWord);
  48. }
  49. catch (Exception ex)
  50. {
  51. MessageBox.Show(this, ex.Message);
  52. return;
  53. }
  54. List<TreeNode> nodes = new List<TreeNode>();
  55. foreach (string database in databases)
  56. {
  57. if (
  58. !database.Contains("avail") &&
  59. !database.Contains("common") &&
  60. database != "information_schema" &&
  61. database != "test" &&
  62. database != "innodb_status" &&
  63. database != "mysql")
  64. nodes.Add(new TreeNode(database));
  65. }
  66. if (nodes.Count == 0)
  67. nodes.Add(new TreeNode("No databases!"));
  68. TreeNode node = new TreeNode(server.Name, nodes.ToArray());
  69. node.Name = server.IpAddress;
  70. TreeView1.Nodes.Add(node);
  71. serverCount++;
  72. }
  73.  
  74. }
  75.  
  76. private static Server[] GetServers()
  77. {
  78. XmlSerializer serializer = new XmlSerializer(typeof(List<Server>));
  79. StreamReader sr = new StreamReader("Servers.xml");
  80. List<Server> servers = (List<Server>)serializer.Deserialize(sr);
  81. return servers.ToArray();
  82. }
  83.  
  84.  
  85. private void TreeView1_DoubleClick(object sender, EventArgs e)
  86. {
  87. ComboBoxCustomer.Items.Clear();
  88. databaseName = TreeView1.SelectedNode.Text;
  89. hostName = TreeView1.SelectedNode.Parent.Name;
  90.  
  91. FillPartnerDropdown();
  92.  
  93. }
  94.  
  95. private void FillPartnerDropdown()
  96. {
  97. //Fill the Partner dropdown
  98. ComboBoxCustomer.Items.Clear();
  99. string[] partners = Database.GetPartners(
  100. TreeView1.SelectedNode.Parent.Name,
  101. "sa",
  102. "homermad!",
  103. TreeView1.SelectedNode.Text);
  104.  
  105. ComboBoxCustomer.Items.Add("0 - BASESITE");
  106. foreach (string partner in partners)
  107. {
  108. ComboBoxCustomer.Items.Add(partner);
  109. }
  110. ComboBoxCustomer.SelectedIndex = 0;
  111. }
  112.  
  113. private void btnSearch_Click(object sender, EventArgs e)
  114. {
  115. mainSearchThread = new Thread(new ThreadStart(DoSearch));
  116. mainSearchThread.Start();
  117. }
  118.  
  119. private void DoSearch()
  120. {
  121. string connectionString = "Server=" + hostName + ";Database=" + databaseName + ";User ID=" + userName + "; Password=" + passWord + ";";
  122.  
  123. string[] ageOfChildrenString = txtAgeOfChildren.Text.Split(',');
  124. decimal child;
  125. decimal[] ageChildren;
  126. if (ageOfChildrenString.All(number => Decimal.TryParse(number, out child))) ;
  127. {
  128. ageChildren = Array.ConvertAll<string, decimal>(ageOfChildrenString, Convert.ToDecimal);
  129. }
  130.  
  131. ConfigurationManager.DatabaseConnectionString = connectionString;
  132. PartnerConfig partnerConfig = new PartnerConfig(partnerId);
  133.  
  134. AirSearchParameter airParam = new AirSearchParameter();
  135.  
  136. airParam.FromCity = txtFrom.Text;
  137. airParam.ToCity = txtTo.Text;
  138. airParam.DepartureDate = DateTime.Parse(datePickerDeparture.Text);
  139. airParam.ReturnDate = DateTime.Parse(datePickerArrival.Text);
  140. airParam.Currency = txtCurrency.Text;
  141. airParam.Adults = Convert.ToInt32(NumericAdult.Value);
  142. airParam.NonAdultAges = ageChildren;
  143. //airParam.NonAdultAges = txtNrOfChildren.Text.Split(',');
  144. airParam.OneWay = chkOneWay.Checked;
  145. airParam.PreferredCarriers = txtPrefCarrier.Text.Split(',');
  146. airParam.ExcludedCarriers = txtExclCarrier.Text.Split(',');
  147. airParam.RestrictToCarriers = txtRestrCarriers.Text.Split(',');
  148. airParam.PartnerConfig = partnerConfig;
  149.  
  150. try
  151. {
  152. List<Itineraries> itins = BookingEngine.GetAirFaresInterface(airParam);
  153. foreach (Itinerary itinerary in itins[0])
  154. {
  155. ListViewItem item = new ListViewItem(itinerary.Id.ToString()); //ItineraryID
  156. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.CRS.ToString()));
  157. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.MainCarrier));
  158. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.Pricing.BaseFarePerAdult.ToString()));
  159. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, itinerary.Pricing.TaxPerAdult.ToString()));
  160. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (itinerary.Pricing.BaseFarePerAdult + itinerary.Pricing.TaxPerAdult).ToString()));
  161. item.SubItems.Add(new ListViewItem.ListViewSubItem(item, (itinerary.Pricing.BaseFarePerAdult + itinerary.Pricing.TaxPerAdult + itinerary.Pricing.AddonPricePerAdult).ToString()));
  162. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Subject));
  163. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Message));
  164. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.IpAddress));
  165. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.Url));
  166. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.ExceptionId.ToString()));
  167. //item.SubItems.Add(new ListViewItem.ListViewSubItem(item, ev.BrowserId.ToString()));
  168.  
  169. //listViewItinerary.Items.Add(item);
  170. UpdateListView(item);
  171. //firstItin = itinerary.Id; //id
  172. }
  173.  
  174. }
  175. catch (Exception ex)
  176. {
  177. //DisplayNameAttribute error Message.
  178. MessageBox.Show(ex.Message);
  179. //Console.Write(ex.StackTrace);
  180. }
  181. //listViewItinerary.Items.Clear(); //test
  182. }
  183.  
  184. void UpdateListView(ListView item)
  185. {
  186. if (InvokeRequired)
  187. {
  188. this.BeginInvoke(new StringParameterDelegate(UpdateListView),w new object[] { item };
  189. return;
  190. }
  191. listViewItinerary.Items.Add(item).ToString();
  192. }
  193.  
  194. private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
  195. {
  196. btnSearch.Enabled = true;
  197. }
  198.  
  199. private void ComboBoxCustomer_SelectedIndexChanged(object sender, EventArgs e)
  200. {
  201. partnerId = int.Parse(ComboBoxCustomer.Text.Substring(0, 3).Replace("-", "").Trim());
  202. }
  203.  
  204. private void datePickerArrival_ValueChanged(object sender, EventArgs e)
  205. {
  206.  
  207. }
  208. private void listViewItinerary_SelectedIndexChanged(object sender, EventArgs e)
  209. {
  210. listViewRowInfo.Items.Clear();
  211. PartnerConfig partnerConfig = new PartnerConfig(partnerId);
  212.  
  213. {
  214. foreach (ListViewItem item in listViewItinerary.Items)
  215. {
  216. if (item.Selected == true)
  217. {
  218. int itineraryid = int.Parse(item.SubItems[0].Text);
  219. Itinerary itinerary = nu.mrorange.BookingEngine.GetItinerary(itineraryid, partnerConfig);
  220. foreach (Segment seg in itinerary.Segments)
  221. {
  222. ListViewItem item2 = new ListViewItem(seg.Id.ToString()); //ItineraryID
  223.  
  224. item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.DateTime1.ToString("hh:mm")));
  225. item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.DateTime2.ToString("hh:mm")));
  226. item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.City2.ToString()));
  227. item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.City1.ToString()));
  228. item2.SubItems.Add(new ListViewItem.ListViewSubItem(item2, seg.Carrier + "-" + seg.FlightNumber.ToString()));
  229. listViewRowInfo.Items.Add(item2);
  230.  
  231. }
  232. }
  233. }
  234. }
  235. }
  236. }
  237. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement