Form1.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace СУБД_Швейная_фабрика
  11. {
  12. public partial class Form1 : Form
  13. {
  14. public Form1()
  15. {
  16. InitializeComponent();
  17. }
  18. string GetCapcha()
  19. {
  20. string TxtLetter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  21. string TxtDigit = "0123456789";
  22. string t1 = TxtLetter + TxtDigit;
  23. string capcha = "";
  24. bool FlagDigit = false;
  25. Random rnd = new Random();
  26. for (int i = 1; i <= 3; i++)
  27. {
  28. // взять символ из строки с символами для капчи
  29. char sim = t1[rnd.Next(t1.Length)];
  30. // если символ - цифра, запомнить это
  31. if (char.IsDigit(sim)) FlagDigit = true;
  32. capcha += sim; // добавить символ к капче
  33. }
  34. if (FlagDigit == false)
  35. capcha += TxtDigit[rnd.Next(TxtDigit.Length)];
  36. else
  37. capcha += TxtLetter[rnd.Next(TxtLetter.Length)];
  38. return capcha;
  39. }
  40. private void Form1_Load(object sender, EventArgs e)
  41. {
  42. // TODO: This line of code loads data into the 'svFabricDataSet.Users' table. You can move, or remove it, as needed.
  43. this.usersTableAdapter.Fill(this.svFabricDataSet.Users);
  44. CmbRole.SelectedIndex = 0;
  45. LblCapcha.Text=GetCapcha();
  46. }
  47. private void usersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
  48. {
  49. this.Validate();
  50. this.usersBindingSource.EndEdit();
  51. this.tableAdapterManager.UpdateAll(this.svFabricDataSet);
  52. }
  53. private void BtnLogin_Click(object sender, EventArgs e)
  54. {
  55. //if (TbxCapcha.Text.ToUpper() != LblCapcha.Text)
  56. //{
  57. // MessageBox.Show("Капча введена неверно!", "Внинмание!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  58. // LblCapcha.Text = GetCapcha();
  59. // TbxCapcha.Clear();
  60. // return;
  61. //}
  62. string role = CmbRole.SelectedItem.ToString();
  63. //string TxtFilter = string.Format("login = '{0}' and password = '{1}' and ID_Role = '{2}'", TbxLogin.Text, TbxPass.Text, role);
  64. string TxtFilterForUser = string.Format("Login = '{0}'", TbxLogin.Text);
  65. //usersBindingSource.Filter = TxtFilter;
  66. if (usersBindingSource.Count == 0)
  67. {
  68. MessageBox.Show("Нет пользователя с указанным логином и паролем!");
  69. return;
  70. }
  71. TbxLogin.Clear(); TbxPass.Clear(); // очистить поля
  72. this.Visible = false; // скрыть форму для авторизации
  73. if (role == "заказчик")
  74. {
  75. // создать форму для заказчика
  76. FormZakazchik frm = new FormZakazchik();
  77. // отфильтровать авторизовавшегося пользователя
  78. frm.usersBindingSource.Filter = TxtFilterForUser;
  79. frm.ShowDialog();
  80. }
  81. if (role == "менеджер")
  82. {
  83. // создать форму для менеджера
  84. FormManager frm = new FormManager();
  85. // отфильтровать авторизовавшегося пользователя
  86. frm.usersBindingSource.Filter = TxtFilterForUser;
  87. frm.ShowDialog();
  88. }
  89. if (role == "кладовщик")
  90. {
  91. //// создать форму для кладовщика
  92. //FormKladovschik frm = new FormKladovschik();
  93. //// отфильтровать авторизовавшегося пользователя
  94. //frm.BsUsers.Filter = TxtFilterForUser;
  95. //frm.ShowDialog();
  96. }
  97. this.Visible = true; // показать форму для авторизации
  98. // загрузить обновленные записи из БД
  99. this.usersTableAdapter.Fill(this.svFabricDataSet.Users);
  100. TbxLogin.Focus();
  101. TbxCapcha.Clear();
  102. LblCapcha.Text = GetCapcha();
  103. }
  104. private void CbxShowPass_CheckedChanged(object sender, EventArgs e)
  105. {
  106. TbxPass.UseSystemPasswordChar = !TbxPass.UseSystemPasswordChar;
  107. }
  108. private void LblReg_Click(object sender, EventArgs e)
  109. {
  110. FormRegister f =new FormRegister();
  111. this.Hide();
  112. if (f.ShowDialog() == DialogResult.OK)
  113. {
  114. this.usersTableAdapter.Fill(this.svFabricDataSet.Users);
  115. }
  116. }
  117. }
  118. }