MainForm.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using SnapshotWinFormsApp.Application;
  2. using SnapshotWinFormsApp.Repository;
  3. using SnapshotWinFormsApp.Tools;
  4. namespace SnapshotWinFormsApp;
  5. public partial class MainForm : Form
  6. {
  7. private readonly DbSqlServer _sqlServerDB;
  8. private readonly SnapshotUserInfoApplication _snapshotUserInfoApplication;
  9. private readonly CommunityInfoApplication _communityInfoApplication;
  10. private CancellationTokenSource? _cts;
  11. public MainForm(DbSqlServer sqlServerDB)
  12. {
  13. _sqlServerDB = sqlServerDB;
  14. _snapshotUserInfoApplication = new SnapshotUserInfoApplication(sqlServerDB);
  15. _communityInfoApplication = new CommunityInfoApplication(sqlServerDB);
  16. InitializeComponent();
  17. logTxt.AppendText("³õʼ»¯Íê³É\r\n");
  18. logTxt.AppendText("ÈÕÖ¾Îļþ¼Ð:" + Logs.Path() + "\r\n");
  19. }
  20. private void OkBtn_Click(object sender, EventArgs e)
  21. {
  22. _cts?.Cancel();
  23. _cts = new CancellationTokenSource();
  24. var token = _cts.Token;
  25. if (guiderCBox.Checked)
  26. Task.Run(() => _snapshotUserInfoApplication.ImportGuiderInfoAsync(AddLog, token));
  27. if (thirdAccountCBox.Checked)
  28. Task.Run(() => _snapshotUserInfoApplication.ImportSnapshotUserInfoAsync(AddLog, token));
  29. if (communityInfoCBox.Checked)
  30. Task.Run(() => _communityInfoApplication.ImportCommunityInfoAsync(AddLog, token));
  31. }
  32. private void AddLog(string msg)
  33. {
  34. this.Invoke((EventHandler)delegate
  35. {
  36. this.logTxt.AppendText(msg + "\r\n");
  37. Logs.Note(msg);
  38. });
  39. }
  40. private void CancelBtn_Click(object sender, EventArgs e)
  41. {
  42. _cts?.Cancel();
  43. }
  44. }