public Owner() { //Перебераем все записи в таблице Acc, если нет ниодной записи с полными правами, то создаем ее //С указанными выше логином и паролем using (LenternContext db = new LenternContext()) { var selectOwner = from acc in db.Accs where acc.Owner == true select acc; int i = 0; foreach (Acc a in selectOwner) { if (a.Owner == true) { i++; } } if (i == 0) { Acc own = new Acc { Login = OwnerLogin, Password = OwnerPassword, Admin = true, Owner = true }; db.Accs.Add(own); db.SaveChanges(); } } }
//-------------3 часть //Обработчик кнопки обновления данных protected void ReInt_Click(object sender, EventArgs e) { //Берем данные, с разметки string email = Email.Text; bool flag = false; string name = Name.Text; string universityName = UniversityName.Text; string cours = Cours.Text; string faculty = Faculty.Text; string phone = Phone.Text; string about = About.Text; string day = Day.Text; string month = Month.Text; string year = Year.Text; bool approve = Approve.Checked; //Проверяем данные на пустоту, и чиловые значения, если что-то не так, выводим сообщение if (String.IsNullOrEmpty(name) && String.IsNullOrEmpty(phone) && String.IsNullOrEmpty(email) && String.IsNullOrEmpty(day) && String.IsNullOrEmpty(month) && String.IsNullOrEmpty(year) && Int32.TryParse(cours, out int a) && Int32.TryParse(day, out int u) && Int32.TryParse(month, out int b) && Int32.TryParse(year, out int c)) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все обязательные поля! Либо поля с цифровым значением введены некорректно!')", true); } //Иначе выполняем обновление данных else { //Для этого необходимо получить дополнительные поля, дата изменения и имя пользователя string editorName = User.Text; DateTime time = DateTime.Now; DateTime birthDate = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day)); //Изменяем и сохраняем ланные, выводим сообщение об удачном добавлении стажера using (LenternContext db = new LenternContext()) { foreach (var i in db.Interns) { if (i.Email == email) { flag = true; i.Name = name; i.BirthDate = birthDate; i.UniversityName = universityName; i.Course = Int32.Parse(cours); i.Faculty = faculty; i.Phone = phone; i.About = about; i.EditDate = time; i.EditName = editorName; i.Approve = approve; } } db.SaveChanges(); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данные изменены!')", true); } //Если данные не изменены, говорим о том, что такого ользователя нет if (!flag) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данный пользователь не найден')", true); } } }
//-----------2 часть //Обработчик кнопки, после полня с воом Email //Берем данные из поля с Email //Заполняем разметку соотвтствующими данными protected void Show_Click(object sender, EventArgs e) { string email = Email.Text; bool flag = false; using (LenternContext db = new LenternContext()) { foreach (var i in db.Interns) { if (i.Email == email) { flag = true; Name.Text = i.Name; UniversityName.Text = i.UniversityName; Cours.Text = i.Course.ToString(); Faculty.Text = i.Faculty; Phone.Text = i.Phone; About.Text = i.About; Day.Text = i.BirthDate.Day.ToString(); Month.Text = i.BirthDate.Month.ToString(); Year.Text = i.BirthDate.Year.ToString(); Approve.Checked = i.Approve; } } } //Если такого пользователя нет, то сообщаем об этом if (!flag) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Данный пользователь не найден')", true); } }
protected void Page_Load(object sender, EventArgs e) { //Берем из URL логин, если он есть, то помещаем его на разметки //Если его нет, либо url пренадлежит стажеру, то отправляем их на странизу авторизации Owner own = new Owner();//см класс owner string userurl = Request.QueryString["User"]; bool admin = false; if (!String.IsNullOrEmpty(userurl)) { Encoding enc = new Encoding(); string user = enc.decode(userurl); User.Text = user; using (LenternContext db = new LenternContext()) { foreach (var a in db.Accs) { if (a.Login == user) { admin = true; } } } if (!admin) { Response.Redirect("Default.aspx"); } } else { Response.Redirect("Default.aspx"); } }
//-----------------3 часть //Если на странице находится администратор, то отображаем всех стажеров //Если же на странице стажер, то отображаем только его запись protected string ShowTable() { //Получем URL Encoding enc = new Encoding(); string userurl = Request.QueryString["User"]; //Декадируем URL и проверяем является ли пользователь администратором bool adminUser = false; using (LenternContext db = new LenternContext()) { string user = ""; if (!String.IsNullOrEmpty(userurl)) { string decode = enc.decode(userurl); user = decode; } else { Response.Redirect("google.com"); } foreach (var Acc in db.Accs) { if (Acc.Login == user) { adminUser = true; } } StringBuilder html = new StringBuilder(); //Если пользователь администратор, то записываем в строку, все данные в таблице со стадерами if (adminUser) { foreach (var I in db.Interns) { html.Append(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>" , I.CreateDate, I.Name, I.BirthDate, I.Email, I.Phone)); } } //Иначе, записываем в строку только запись стажера else { foreach (var I in db.Interns) { if (I.Email == user) { html.Append(String.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td><td>{4}</td></tr>" , I.CreateDate, I.Name, I.BirthDate, I.Email, I.Phone)); } } } return(html.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { //-------------- 1 часть //Декодируем URL Owner own = new Owner();//см класс owner Encoding enc = new Encoding(); string userurl = Request.QueryString["User"]; if (!String.IsNullOrEmpty(userurl)) { //Добавляем на страницу информаци о пользователе string user = enc.decode(userurl); User.Text = user; } else { User.Text = "Новый пользователь"; } //Проверяем является ли пользователь администратором bool adminUser = false; using (LenternContext db = new LenternContext()) { string user = ""; if (!String.IsNullOrEmpty(userurl)) { string decode = enc.decode(userurl); user = decode; } else { Response.Redirect("Default.aspx"); } foreach (var Acc in db.Accs) { if (Acc.Login == user) { adminUser = true; } } } //Если пользователь не администратор, скрываем кнопки перехода на страницу добавления нового администратора //и на страницу добавления нового стажера if (!adminUser) { AddIternPage.Visible = false; AddAdmin.Visible = false; } }
//Обработчик кнопки добавления нового администратора protected void AddAdm_Click(object sender, EventArgs e) { //Берем данные из разметки String login = Login.Text; String password = Password.Text; //Проверяем логин на повторение bool repeatlogin = false; using (LenternContext db = new LenternContext()) { foreach (var a in db.Accs) { if (a.Login == login) { repeatlogin = true; } } } //Если данные не введены, сообщаем об этом if (String.IsNullOrEmpty(login) && String.IsNullOrEmpty(password)) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все данные!')", true); } //Если логин повторился, сообщаем об этом else if (repeatlogin) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Администратор с таким логином уже есть')", true); } //Иначе, добавляем нового администратора else { Acc a = new Acc { Login = login, Password = password, Owner = false, Admin = true }; //Добовляем, созраняем, сообщаем пользователю using (LenternContext db = new LenternContext()) { db.Accs.Add(a); db.SaveChanges(); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Администратор добавлен!')", true); } } }
//---------------1 часть protected void Page_Load(object sender, EventArgs e) { //Берем данные из URL, декодируем и определяем, является ли пользователь администратором Owner own = new Owner();//см класс ower string userurl = Request.QueryString["User"]; bool admin = false; if (!String.IsNullOrEmpty(userurl)) { Encoding enc = new Encoding(); string user = enc.decode(userurl); User.Text = user; using (LenternContext db = new LenternContext()) { foreach (var a in db.Accs) { if (a.Login == user) { admin = true; } } } } //Если пользователь зашел сюда, без логина в URL, отправляем его на страницу авторизации else { Response.Redirect("Default.aspx"); } //Если пользователь не администратор, то блокируем поле ввода Email для редактирования //Устанавливаем туда его Email и запускаем функцию отображения существующих данных if (!admin) { Email.Text = User.Text; Email.Enabled = false; Show.Visible = false; Approve.Enabled = false; Show_Click(sender, e); } }
protected void Exit_Click(object sender, EventArgs e) { //Получаем данный string login = Login.Text; string password = Password.Text; string pass = ""; bool Pass = false; bool intern = false; //Проверяем является ли пользователь администратором либо стажером //Если пользователь администратор, то запоминаем его пароль using (LenternContext db = new LenternContext()) { foreach (var a in db.Accs) { if (a.Login == login) { pass = a.Password; Pass = true; } } foreach (var i in db.Interns) { if (i.Email == login) { intern = true; } } } //Если пользователь стажер, перенаправляем его на главную страницу, с нужным URL if (!string.IsNullOrEmpty(login) && !Pass && string.IsNullOrEmpty(password) && intern) { Encoding enc = new Encoding(); string userurl = enc.encode(login); Response.Redirect("Main.aspx?User="******"alertMessage", "alert('Введите пароль!')", true); } //Если пользователь администратор, и пароль уже введен, то сравниваем, правильный ли пароль //И перенаправляем его на главную страницу с необходимым URL else if (!string.IsNullOrEmpty(login) && Pass && !string.IsNullOrEmpty(password) && !intern && (password == pass)) { Encoding enc = new Encoding(); string userurl = enc.encode(login); Response.Redirect("Main.aspx?User="******"alertMessage", "alert('Неверный пароль!')", true); } //Во всех остальных случаях, что-то пользователь сделал не так else { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Неправильно выполненный вход!')", true); } }
//Обработчик кнопки добавления нового стажера protected void AddIntern_Click(object sender, EventArgs e) { //Берем данные из разметки String name = Name.Text; String universityName = UniversityName.Text; String cours = Cours.Text; String faculty = Faculty.Text; String phone = Phone.Text; String email = Email.Text; String about = About.Text; String day = Day.Text; String month = Month.Text; String year = Year.Text; //Проверяем Email на повторение bool repeatlogin = false; using (LenternContext db = new LenternContext()) { foreach (var i in db.Interns) { if (i.Email == email) { repeatlogin = true; } } } //Проверяем данные на пустоту, и чиловые значения, если что-то не так, выводим сообщение if (String.IsNullOrEmpty(name) && String.IsNullOrEmpty(phone) && String.IsNullOrEmpty(email) && String.IsNullOrEmpty(day) && String.IsNullOrEmpty(month) && String.IsNullOrEmpty(year) && Int32.TryParse(cours, out int a) && Int32.TryParse(day, out int u) && Int32.TryParse(month, out int b) && Int32.TryParse(year, out int c)) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Введите все обязательные поля! Либо поля с цифровым значением введены некорректно!')", true); } //Если Email повторился, сообщаем об этом else if (repeatlogin) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Пользователь с таким Email уже существует')", true); } //Иначе добавляем данные в БД else { //Для этого необходимо получить дополнительные поля, дата создания и имя пользователя //Если на странице новый пользователь, то, ставим в поле createName Email который был введен string userurl = Request.QueryString["User"]; String createName; if (!String.IsNullOrEmpty(userurl)) { Encoding enc = new Encoding(); string user = enc.decode(userurl); createName = user; } else { createName = email; } DateTime time = DateTime.Now; DateTime birthDate = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day)); //Добавляем и сохраняем ланные, выводим сообщение об удачном добавлении стажера using (LenternContext db = new LenternContext()) { Intern i = new Intern { Name = name, BirthDate = birthDate, UniversityName = universityName, Course = Int32.Parse(cours), Faculty = faculty, Phone = phone, Email = email, About = about, CreateDate = time, EditDate = time, CreateName = createName, EditName = createName, Approve = false }; db.Interns.Add(i); db.SaveChanges(); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Запись стажера добавлена!')", true); Response.Redirect("Default.aspx"); } } }