Advertisement
Reasel

Untitled

Feb 9th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using Npgsql;
  16.  
  17. namespace Milestone1
  18. {
  19. /// <summary>
  20. /// Interaction logic for MainWindow.xaml
  21. /// </summary>
  22. public partial class MainWindow : Window
  23. {
  24. public class Business
  25. {
  26. public string name { get; set; }
  27. public string state { get; set; }
  28. public string city { get; set; }
  29. }
  30.  
  31. public MainWindow()
  32. {
  33. InitializeComponent();
  34. getStates();
  35. addColumnsToGrid();
  36.  
  37. }
  38.  
  39. public void getStates()
  40. {
  41. using (var conn = new NpgsqlConnection("Host=localhost; Username=postgres; Password=reasel111; Database=milestone1db"))
  42. {
  43. conn.Open();
  44. using (var cmd = new NpgsqlCommand())
  45. {
  46. cmd.Connection = conn;
  47. cmd.CommandText = "SELECT DISTINCT state FROM business ORDER BY state";
  48. using (var reader = cmd.ExecuteReader())
  49. {
  50. while (reader.Read())
  51. {
  52. stateDropDown.Items.Add(reader.GetString(0));
  53. }
  54. }
  55. }
  56. conn.Close();
  57. }
  58. }
  59.  
  60. public void addColumnsToGrid()
  61. {
  62. DataGridTextColumn col1 = new DataGridTextColumn();
  63. col1.Header = "Business Name";
  64. col1.Binding = new Binding("name");
  65. col1.Width = 255;
  66. businessGrid.Columns.Add(col1);
  67.  
  68. DataGridTextColumn col2 = new DataGridTextColumn();
  69. col2.Header = "State";
  70. col2.Binding = new Binding("state");
  71. businessGrid.Columns.Add(col2);
  72.  
  73. DataGridTextColumn col3 = new DataGridTextColumn();
  74. col3.Header = "City";
  75. col3.Binding = new Binding("city");
  76. businessGrid.Columns.Add(col3);
  77.  
  78.  
  79. //businessGrid.Items.Add(new Business() { name = "Tanner", state = "WA", city = "Pullman" });
  80. }
  81.  
  82. private void stateDropDown_SelectionChanged(object sender, SelectionChangedEventArgs e)
  83. {
  84. businessGrid.Items.Clear();
  85. cityDropDown.Items.Clear();
  86. if (stateDropDown.SelectedIndex >= 0)
  87. {
  88. using (var conn = new NpgsqlConnection("Host=localhost; Username=postgres; Password=reasel111; Database=milestone1db"))
  89. {
  90. conn.Open();
  91. using (var cmd = new NpgsqlCommand())
  92. {
  93. cmd.Connection = conn;
  94. cmd.CommandText = "SELECT name,state,city FROM business WHERE state = '" + stateDropDown.SelectedItem.ToString() + "';";
  95. using (var reader = cmd.ExecuteReader())
  96. {
  97. while (reader.Read())
  98. {
  99. businessGrid.Items.Add(new Business() { name = reader.GetString(0), state = reader.GetString(1), city = reader.GetString(2) });
  100. if(!cityDropDown.Items.Contains(reader.GetString(2)))
  101. {
  102. cityDropDown.Items.Add(reader.GetString(2));
  103. }
  104.  
  105. }
  106. }
  107. }
  108. conn.Close();
  109. }
  110. }
  111. }
  112.  
  113. private void cityDropDown_SelectionChanged(object sender, SelectionChangedEventArgs e)
  114. {
  115. businessGrid.Items.Clear();
  116. if(stateDropDown.SelectedIndex >= 0 && cityDropDown.SelectedIndex >= 0)
  117. {
  118. using (var conn = new NpgsqlConnection("Host=localhost; Username=postgres; Password=reasel111; Database=milestone1db"))
  119. {
  120. conn.Open();
  121. using (var cmd = new NpgsqlCommand())
  122. {
  123. cmd.Connection = conn;
  124. cmd.CommandText = "SELECT name,state,city FROM business WHERE city = '" + cityDropDown.SelectedItem.ToString() + "' AND state = '" + stateDropDown.SelectedItem.ToString() + "';";
  125. using (var reader = cmd.ExecuteReader())
  126. {
  127. while (reader.Read())
  128. {
  129. businessGrid.Items.Add(new Business() { name = reader.GetString(0), state = reader.GetString(1), city = reader.GetString(2) });
  130. }
  131. }
  132. }
  133. conn.Close();
  134. }
  135. }
  136. }
  137. }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement