Advertisement
Guest User

Untitled

a guest
Oct 1st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Location.Model;
  8. using System.Windows.Controls;
  9.  
  10. namespace Location.ViewModel
  11. {
  12. public class LocationViewModel: INotifyPropertyChanged
  13. {
  14. public LocationViewModel()
  15. {
  16. SetEfficiency();
  17. }
  18.  
  19. private DateTime _mDate = DateTime.Now;
  20.  
  21. public DateTime MDate
  22. {
  23. get { return _mDate; }
  24. set
  25. {
  26. _mDate = value;
  27. OnPropertyChanged("MDate");
  28. SetEfficiency();
  29. }
  30. }
  31.  
  32. decimal efficiency;
  33.  
  34. public decimal Efficiency
  35. {
  36. get { return efficiency; }
  37. set
  38. {
  39. efficiency = value;
  40. OnPropertyChanged("Efficiency");
  41. }
  42. }
  43.  
  44. DailyEntities db = new DailyEntities();
  45.  
  46. private void SetEfficiency()
  47. {
  48. var month;
  49. int.TryParse(MDate.ToString("MM"), out month);
  50. Efficiency = Convert.ToDecimal(db.LocationKPI.Where(a => a.sMonth == month).Select(a => a.Efficiency).FirstOrDefault());
  51. }
  52.  
  53. public event PropertyChangedEventHandler PropertyChanged;
  54.  
  55. protected virtual void OnPropertyChanged(string propertyName = null)
  56. {
  57. if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
  58. }
  59. }
  60. }
  61.  
  62. public MainWindow()
  63. {
  64. InitializeComponent();
  65.  
  66. DataContext = new LocationViewModel();
  67.  
  68. string connectionString = "datasource=xx.xx.xxx.xxx;port=xxx;username=xxxxx;password=xxxxx";
  69. string sMonth = DateTime.Now.ToString("MM");
  70. string sYear = DateTime.Now.ToString("yyyy");
  71.  
  72. MySqlConnection connection = new MySqlConnection(connectionString);
  73.  
  74. MySqlCommand cmd = new MySqlCommand("Select * from MyTable where MONTH(Date) = @sMonth AND YEAR(Date) = @sYear", connection);
  75.  
  76. try
  77. {
  78. connection.Open();
  79. cmd.Parameters.Add(new MySqlParameter("sMonth", sMonth));
  80. cmd.Parameters.Add(new MySqlParameter("sYear", sYear));
  81.  
  82. DataTable dt = new DataTable();
  83. dt.Load(cmd.ExecuteReader());
  84. dtGrid.DataContext = dt;
  85. connection.Close();
  86.  
  87. }
  88.  
  89. catch (Exception ex)
  90. {
  91. MessageBox.Show(ex.Message);
  92. }
  93.  
  94.  
  95.  
  96. }
  97.  
  98. private void vDatePick_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
  99. {
  100.  
  101. string connectionString = "datasource=xx.xx.xxx.xxx;port=xxx;username=xxxxx;password=xxxxx";
  102. string sMonth = DateTime.Parse(vDatePick.Text).ToString("MM");
  103. string sYear = DateTime.Parse(vDatePick.Text).ToString("yyyy");
  104. string vDate = DateTime.Parse(vDatePick.Text).ToString("yyyy-MM-dd");
  105.  
  106. MySqlConnection connection = new MySqlConnection(connectionString);
  107. MySqlCommand cmd = new MySqlCommand("Select * from MyTable where MONTH(Date) = @sMonth AND YEAR(Date) = @sYear", connection);
  108.  
  109.  
  110. try
  111. {
  112.  
  113. connection.Open();
  114. cmd.Parameters.Add(new MySqlParameter("sMonth", sMonth));
  115. cmd.Parameters.Add(new MySqlParameter("sYear", sYear));
  116. DataTable dt = new DataTable();
  117. dt.Load(cmd.ExecuteReader());
  118. connection.Close();
  119. dtGrid.DataContext = dt;
  120.  
  121. }
  122.  
  123. catch (Exception ex)
  124. {
  125. MessageBox.Show(ex.Message);
  126. }
  127.  
  128. }
  129.  
  130.  
  131. private void dtGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
  132. {
  133.  
  134. DataRowView row_selected = dtGrid.SelectedItem as DataRowView;
  135. if (row_selected == null) return;
  136. vDatePick.Text = row_selected["Date"].ToString();
  137. txtHours.Text = row_selected["Hours"].ToString();
  138.  
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement