FaultLogInputPartial.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Oreo.FaultLog.DatabaseEngine;
  10. using Oreo.FaultLog.Models;
  11. using Y.Utils.DataUtils.Collections;
  12. using System.Threading.Tasks;
  13. namespace Oreo.FaultLog.Partials
  14. {
  15. public partial class FaultLogInputPartial : UserControl
  16. {
  17. public FaultLogInputPartial()
  18. {
  19. InitializeComponent();
  20. }
  21. private void FaultLogInputPartial_Load(object sender, EventArgs e)
  22. {
  23. TbIp.Text = "";
  24. TbPhone.Text = "";
  25. TbAddress.Text = "";
  26. TbProblem.Text = "";
  27. TbSolution.Text = "";
  28. TbPostscript.Text = "";
  29. DgvData.Rows.Clear();
  30. Task.Factory.StartNew(() =>
  31. {
  32. using (var db = new Muse())
  33. {
  34. var fls = db.Do<FaultLogs>().SqlQuery("SELECT * FROM faultlogs WHERE createtime LIKE @p0", DateTime.Now.ToString("yyyy-MM-dd") + "%");
  35. if (ListTool.HasElements(fls))
  36. {
  37. foreach (var f in fls)
  38. {
  39. UIAddRow(f);
  40. }
  41. }
  42. }
  43. });
  44. }
  45. private void BtSearch_Click(object sender, EventArgs e)
  46. {
  47. string ip = string.Format("%{0}%", TbIp.Text); //TbIp.Text != "" ? string.Format("%{0}%", TbIp.Text) : Guid.NewGuid().ToString();
  48. string phone = string.Format("%{0}%", TbPhone.Text); //TbPhone.Text != "" ? string.Format("%{0}%", TbPhone.Text) : Guid.NewGuid().ToString();
  49. string address = string.Format("%{0}%", TbAddress.Text); //TbAddress.Text != "" ? string.Format("%{0}%", TbAddress.Text) : Guid.NewGuid().ToString();
  50. DgvData.Rows.Clear();
  51. Task.Factory.StartNew(() =>
  52. {
  53. UIAddButton(false);
  54. using (var db = new Muse())
  55. {
  56. var fls = db.Do<FaultLogs>().SqlQuery("SELECT * FROM faultlogs WHERE ip LIKE @p0 and phone LIKE @p1 and address LIKE @p2", ip, phone, address);
  57. if (ListTool.HasElements(fls))
  58. {
  59. foreach (var f in fls)
  60. {
  61. UIAddRow(f);
  62. }
  63. }
  64. }
  65. UIAddButton(true);
  66. });
  67. }
  68. private void BtToday_Click(object sender, EventArgs e)
  69. {
  70. DgvData.Rows.Clear();
  71. Task.Factory.StartNew(() =>
  72. {
  73. using (var db = new Muse())
  74. {
  75. var fls = db.Do<FaultLogs>().SqlQuery("SELECT * FROM faultlogs WHERE createtime LIKE @p0", DateTime.Now.ToString("yyyy-MM-dd") + "%");
  76. if (ListTool.HasElements(fls))
  77. {
  78. foreach (var f in fls)
  79. {
  80. UIAddRow(f);
  81. }
  82. }
  83. }
  84. });
  85. }
  86. private void BtAdd_Click(object sender, EventArgs e)
  87. {
  88. FaultLogs fl = new FaultLogs()
  89. {
  90. Ip = TbIp.Text,
  91. Phone = TbPhone.Text,
  92. Address = TbAddress.Text,
  93. Problem = TbProblem.Text,
  94. Solution = TbSolution.Text,
  95. Postscript = TbPostscript.Text,
  96. System = CbSystem.Text,
  97. CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  98. };
  99. DgvData.Rows.Clear();
  100. Task.Factory.StartNew(() =>
  101. {
  102. UIAddButton(false);
  103. using (var db = new Muse())
  104. {
  105. if (CbIsFinish.Checked)
  106. {
  107. fl.IsFinish = true;
  108. fl.FinishTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  109. }
  110. db.Add(fl);
  111. var fls = db.Do<FaultLogs>().SqlQuery("SELECT * FROM faultlogs WHERE createtime LIKE @p0", DateTime.Now.ToString("yyyy-MM-dd") + "%");
  112. if (ListTool.HasElements(fls))
  113. {
  114. foreach (var f in fls)
  115. {
  116. UIAddRow(f);
  117. }
  118. }
  119. }
  120. UIAddButton(true);
  121. });
  122. }
  123. void UIAddRow(FaultLogs f)
  124. {
  125. BeginInvoke(new Action(() =>
  126. {
  127. DgvData.Rows.Add(new object[] {
  128. DgvData.Rows.Count+1,
  129. f.CreateTime,
  130. f.FinishTime,
  131. f.Ip,
  132. f.Phone,
  133. f.Address,
  134. f.System,
  135. f.Problem,
  136. f.Solution,
  137. f.Postscript
  138. });
  139. }));
  140. }
  141. void UIAddButton(bool enable)
  142. {
  143. BeginInvoke(new Action(() =>
  144. {
  145. BtAdd.Enabled = enable;
  146. }));
  147. }
  148. }
  149. }