protected void Dropspec_DataBound(object sender, EventArgs e) { Dropspec.DataBind(); }
protected void RegistrationButton_Click(object sender, EventArgs e) { if (Page.IsValid) { if (Dropspec.SelectedIndex == 0) { Dropspec.Focus(); DropNapravAlert.Visible = true; DropNapravLabel.Text = "Специальность не выбрана"; // Notif(); } else if (DropNaprav.SelectedIndex == 0) { DropNaprav.Focus(); DropNapravAlert.Visible = true; DropNapravLabel.Text = "Специальность не выбрана."; } else if (DropMestorab.SelectedIndex == 0) { DropMestorab.Focus(); DropMestorabLabel.Text = "Место работы не выбрано."; DropNapravAlert.Visible = false; } else if (Dropkat.SelectedIndex == 0) { Dropkat.Focus(); DropkatAlert.Visible = true; DropkatLabel.Text = "Категория не выбрана."; } else { Boolean StatusListOfCertifiedCheck = false; if (CheckFIO() == 0) // проверка на совпадение с уже зарегистрированными людьми { Random rand = new Random(); int UserID = 0; //ID созданного пользователя string cmdStr = "INSERT INTO [l-kabinet] (F, I, O, stazh, ID_lpu, ID_dolzhnost, email, kategoria, proba_test, telefon, on_delete) VALUES (@F,@I,@O,@stazh,@lpu,@ID_dolzhnost,@email,@kategoria, 0,@telefon, 0) SELECT @@IDENTITY"; // делаем запрос с введеным в тектовое поле логином SqlCommand insertuser = new SqlCommand(cmdStr, con); insertuser.Parameters.AddWithValue("@F", txtF.Text.Replace(" ", string.Empty)); insertuser.Parameters.AddWithValue("@I", txtI.Text.Replace(" ", string.Empty)); insertuser.Parameters.AddWithValue("@O", txtO.Text.Replace(" ", string.Empty)); insertuser.Parameters.AddWithValue("@stazh", Convert.ToInt32(txtStage.Text.Replace(" ", string.Empty))); insertuser.Parameters.AddWithValue("@lpu", DropMestorab.Text); insertuser.Parameters.AddWithValue("@ID_dolzhnost", Dropspec.Text); insertuser.Parameters.AddWithValue("@email", txtemail.Text.Replace(" ", string.Empty)); insertuser.Parameters.AddWithValue("@kategoria", Dropkat.Text); insertuser.Parameters.AddWithValue("@telefon", txtTelefon.Text); try { if (con.State != ConnectionState.Open) { con.Open(); } UserID = Convert.ToInt32(insertuser.ExecuteScalar().ToString()); //string SelectNewUser1 = // "SELECT ID FROM [l-kabinet] WHERE (SessionID = @SessionID)"; //// делаем запрос с введеным в тектовое поле логином //SqlCommand selectuser1 = new SqlCommand(SelectNewUser1, con); //selectuser1.Parameters.AddWithValue("@SessionID", sessionID); //string UserID = selectuser1.ExecuteScalar().ToString(); con.Close(); string username = GetTranstext(txtF.Text.Replace(" ", string.Empty).Remove(1)) + GetTranstext(txtI.Text.Replace(" ", string.Empty).Remove(1)) + GetTranstext(txtO.Text.Replace(" ", string.Empty).Remove(1)); //создаем ноывый логин производим транслит в латиницу и обрезаем пробелы while (GetUserName(username) != 0) //производим запрос на наличие вновь сформированного логина { username = username + rand.Next(100); } //далее производим определение индификатора записанного пользователя //TextBox6.Text = username; Random hashrand = new Random(); string s = Convert.ToString(hashrand.Next(1000000)); //TextBox6.Text = GetHashString(s) + " - " + Convert.ToString(s); string activ_id = Convert.ToString(hashrand.Next(1000000)); string InsertUser = "******"; // делаем запрос с введеным в тектовое поле логином SqlCommand InsertUser2 = new SqlCommand(InsertUser, con); InsertUser2.Parameters.AddWithValue("@UserName", username); InsertUser2.Parameters.AddWithValue("@ID_l_kabinet", UserID); InsertUser2.Parameters.AddWithValue("@Password", GetHashString(s)); InsertUser2.Parameters.AddWithValue("@Moderacija", 0); InsertUser2.Parameters.AddWithValue("@date_reg", date1); InsertUser2.Parameters.AddWithValue("@activation_id", GetHashString(activ_id)); try { if (con.State != ConnectionState.Open) { con.Open(); } InsertUser2.ExecuteNonQuery(); con.Close(); Log("$УСПЕШНО:$" + UserID + "$" + username + "$" + txtF.Text.Replace(" ", string.Empty) + "$" + txtI.Text.Replace(" ", string.Empty) + "$" + txtO.Text.Replace(" ", string.Empty) + "$" + DropMestorab.Text + "$" + Dropspec.Text); //Отправка почты string MsgOut = "Уважаемый(-ая) " + txtF.Text.Replace(" ", string.Empty) + " " + txtI.Text.Replace(" ", string.Empty).Remove(1) + ". " + txtO.Text.Replace(" ", string.Empty).Remove(1) + "." + "<br>Вы успешно завершили регистрацию в системе тестирования медицинских работников Республики Хакасия <a href='http://tms.miacrh.ru/'>http://tms.miacrh.ru/</a><br> Логин для входа на сайт: " + username + " <br> Пароль: " + s.ToString() + "<br> Через некоторое время вашу запись утвердят, после чего откроется доступ для прохождения тестирования. <br>Для активации учетеной записи перейдите по ссылке: " + "<a href='http://tms.miacrh.ru/default.aspx?user="******"&activ_id=" + GetHashString(activ_id) + "'>http://tms.miacrh.ru/default.aspx?user="******"&activ_id=" + GetHashString(activ_id) + "</a>, либо воспользуйтесь кодом активации " + activ_id + "<br> Если Вы не регистрировались в системе тестирования, то активировать учетную запись не нужно"; string MsgOutAdmin = txtF.Text.Replace(" ", string.Empty) + " " + txtI.Text.Replace(" ", string.Empty) + ". " + txtO.Text.Replace(" ", string.Empty) + "." + "</br> МО: " + DropMestorab.SelectedItem + "</br> Должность: " + Dropspec.SelectedItem + " <br/> логин: " + username + "<br/> пароль: " + s.ToString() + " <br/> Код активации: " + activ_id; string smsmsg = "Логин: " + username + " Пароль: " + s.ToString() + " Код Активации: " + activ_id; if (GetLoginPasswortToSMS.Checked) { string status_mes = MSender(txtTelefon.Text, smsmsg); Log("Статус отправки смс на телефон: " + txtTelefon.Text + status_mes); } SendMail(txtemail.Text, MsgOut, "Регистрация на сайте tms.mz19.ru"); SendMail(SystemQuery("email_admin"), MsgOutAdmin, "Новый человек зарегистрировался на сайте "); int resultListOfCertifiedCheck = ListOfCertifiedCheck(); if (resultListOfCertifiedCheck != 0) { string UpdateListOfCertified = " UPDATE SpisokAttestuemyh SET UserID =@UserID WHERE (ID = @ID)"; // делаем запрос с введеным в тектовое поле логином SqlCommand ULOS = new SqlCommand(UpdateListOfCertified, con); ULOS.Parameters.AddWithValue("@UserID", UserID); ULOS.Parameters.AddWithValue("@ID", resultListOfCertifiedCheck); try { if (con.State != ConnectionState.Open) { con.Open(); } ULOS.ExecuteNonQuery(); con.Close(); string AutoModeracija = "UPDATE users SET Moderacija = 1 WHERE (ID_l_kabinet = @ID_l_kabinet)"; // делаем запрос с введеным в тектовое поле логином SqlCommand AM = new SqlCommand(AutoModeracija, con); AM.Parameters.AddWithValue("@ID_l_kabinet", UserID); try { if (con.State != ConnectionState.Open) { con.Open(); } StatusListOfCertifiedCheck = true; con.Close(); } catch (Exception ex) { con.Close(); SendMailBug(ex.Message); //throw; } } catch (Exception ex) { con.Close(); string err = "<br><b>Ошибка в: </b>" + Request.Url.ToString() + "<br><b>Сообщение: </b>" + ex.Message.ToString(); SendMailBug(err); } } regst = true; // Registracija.Visible = false; // success.Visible = true; //Label1.Text = "Регистрация прошла успешно! Данные для входа на сайт высланы Вам на электронную почту"; // Response.Write("<b>Регистрация прошла успешно! Данные для входа на сайт высланы Вам на электронную почту<b>"); // con.Close(); } catch (Exception ex) { con.Close(); string err = "<br><b>Ошибка в: </b>" + Request.Url.ToString() + "<br><b>Сообщение: </b>" + ex.Message.ToString(); SendMailBug(err); Log( "Возникла ошибка какая-то и не понятно что с ней делать во время записи логина пользователфя в базу таблицы user"); // message("Что-то пошло не так! Попробуйте еще раз"); } } catch (Exception ex) { con.Close(); string err = "<br><b>Ошибка в: </b>" + Request.Url.ToString() + "<br><b>Сообщение: </b>" + ex.Message.ToString(); SendMailBug(err); Log( "Возникла ошибка какая-то и не понятно что с ней делать во время записи логина пользователя в базу таблицы l-kabinet"); // message("Что-то пошло не так! Попробуйте еще раз"); } } else { message( "Вы не можете зарегистрироваться в системе, т.к. под данными фамилией именем и отчеством уже есть учетная запись. Пожалуйста, свяжитесь с модератором системы"); //Label1.Text="Вы не можете зарегистрироваться в системе, т.к. под данными фамилией именем и отчеством уже есть учетная запись. Пожалуйста, свяжитесь с модератором системы"; } if (regst == true) { Panel1.Visible = true; if (StatusListOfCertifiedCheck == true) { Label2.Text = "Вы прошли автоматическую модерацию."; } Wizard1.ActiveStepIndex = 2; // Response.Redirect("registration.aspx?status=success"); } else { Panel2.Visible = true; Wizard1.ActiveStepIndex = 2; // Response.Redirect("registration.aspx?status=error"); } } } }