public async Task <ActionResult> Edit([Bind(Include = "ID_Pass,S_Pas,N_Pas,Sotr_ID")] Pass_Dannie pass_Dannie) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { //Если валидация прошла успешно if (ModelState.IsValid) { pass_Dannie.N_Pas = Shifrovanie.Encryption(pass_Dannie.N_Pas); pass_Dannie.S_Pas = Shifrovanie.Encryption(pass_Dannie.S_Pas); //Сохранение измений db.Entry(pass_Dannie).State = EntityState.Modified; await db.SaveChangesAsync(); //Обновление у всех пользователей данных EmployeesHub.BroadcastData(); return(RedirectToAction("Index")); } //Список сотрудников ViewBag.Sotr_ID = new SelectList(db.Sotrs.Where(i => i.fired == false && i.Accounts.Block == false), "ID_Sotr", "Full", pass_Dannie.Sotr_ID); var fio = db.Sotrs.Where(f => f.ID_Sotr == pass_Dannie.Sotr_ID).FirstOrDefault(); ViewBag.fio = fio.Full; return(View(pass_Dannie)); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> DeleteConfirmedLog(int id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { Sotrs sotrs = await db.Sotrs.FindAsync(id); //Логическое удаление sotrs.Logical_Delete = true; db.Entry(sotrs).State = EntityState.Modified; //Сохранение await db.SaveChangesAsync(); EmployeesHub.BroadcastData(); return(RedirectToAction("Index")); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> DeleteConfirmed(int id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { Pass_Dannie pass_Dannie = await db.Pass_Dannie.FindAsync(id); //Удаление записи db.Pass_Dannie.Remove(pass_Dannie); //Сохранение await db.SaveChangesAsync(); //Обновление у всех пользователей данных EmployeesHub.BroadcastData(); return(RedirectToAction("Index")); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> Create([Bind(Include = "ID_Pass,S_Pas,N_Pas,Sotr_ID")] Pass_Dannie pass_Dannie) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { //Если валидация прошла успешно if (ModelState.IsValid) { //Добавление данных db.Pass_Dannie.Add(new Pass_Dannie { Sotr_ID = pass_Dannie.Sotr_ID, N_Pas = Shifrovanie.Encryption(pass_Dannie.N_Pas), S_Pas = Shifrovanie.Encryption(pass_Dannie.S_Pas) }); //Сохранение await db.SaveChangesAsync(); //Обновление списка пасортных данных у всех пользователей EmployeesHub.BroadcastData(); return(RedirectToAction("Index")); } //Список сотрудников string constr = ConfigurationManager.ConnectionStrings["PersonalContext"].ToString(); SqlConnection _con = new SqlConnection(constr); //Поиск сотрудников, которым не назначены должностные инструкции SqlDataAdapter _da = new SqlDataAdapter("SELECT ID_Sotr, Surname_Sot + ' ' + Name_Sot + ' ' + Petronumic_Sot + ' (' + Login_Acc + ')' as FIO FROM Sotrs LEFT JOIN Pass_Dannie ON Sotrs.ID_Sotr=Pass_Dannie.Sotr_ID WHERE Guest = 'false' and [fired] = 'false' and Pass_Dannie.Sotr_ID IS NULL", constr); DataTable _dt = new DataTable(); _da.Fill(_dt); //Список сотрудников ViewBag.Sotr_ID = ToSelectList(_dt, "ID_Sotr", "FIO", pass_Dannie.Sotr_ID); return(View(pass_Dannie)); } else { return(Redirect("/Error/NotRight")); } }
public ActionResult Register(RegisterModel model) { //Если значение поля для загрузки фото не пустое if (model.ImageUpload != null) { //Получение имени файла string filename = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName); //Расширение файла string extension = Path.GetExtension(model.ImageUpload.FileName); //Новое уникальное наименование, которое будет занесено в БД filename = filename + DateTime.Now.ToString("yymmssfff") + extension; //Значение для поля Фото, которое будет добавлено в БД с путем к файлу model.Photo = "/Content/Photo/st/" + filename; //Загрузка фото в папку model.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/Content/Photo/st/"), filename)); } else { //Иначе дефолтное значение model.Photo = "/Content/Photo/st/default.png"; } Accounts user = null; //Поиск пльзователей с таким логином user = db.Accounts.FirstOrDefault(u => u.Login == model.Login); //Если не найдено, то добавляем нового if (user == null) { //Если валидация пройдена успешно if (ModelState.IsValid) { //Создаем команду SqlCommand command = new SqlCommand("", Program.SqlConnection); //Запрос для команды (проверка на возраст) command.CommandText = "select Datediff(year, '" + model.Day_Of_Birth + "', getdate())"; int?voz = 0; Program.SqlConnection.Open(); // Выполнение команды voz = (int)command.ExecuteScalar(); Program.SqlConnection.Close(); //В соответствии со ст. 63 ТК РФ, Официально можно работать в России с 16 лет //Проверка, есть ли пользователю 16 лет и более if (voz <= 16) { ModelState.AddModelError("Day_Of_Birth", "Возрастные ограничения 18+"); return(View(model)); } Session["War"] = false; //Добавление нового аккаунта db.Accounts.Add(new Accounts { Login = model.Login, Password = model.Password, Password_Shifr = Shifrovanie.Hash(model.Password), Role_ID = 4, Logical_Delete = false, Block = false }); //Сохранение данных db.SaveChanges(); //Добавление сотрудника db.Sotrs.Add(new Sotrs { Surname_Sot = model.Surname_Sot, Name_Sot = model.Name_Sot, Petronumic_Sot = model.Petronumic_Sot, Day_Of_Birth = model.Day_Of_Birth, Address = Shifrovanie.Encryption(model.Address), Num_Phone = model.Num_Phone, Email = model.Email, Photo = model.Photo, Date_of_adoption = null, fired = false, Guest = true, Logical_Delete = false, Login_Acc = model.Login }); //Сохранение данных db.SaveChanges(); //Отправка письма на почту EmailTo.MySendMail("" + "Приветствуем, " + model.Surname_Sot + " " + model.Name_Sot + " " + model.Petronumic_Sot + "! <br>Мы рады, " + "что вы зарегистрировались в нашей системе. Мы надеемся, что не разочаруем Вас. С радостью ответим на Ваши вопросы." + "<br><br>Ваш Логин: " + model.Login + " <br>Пароль: " + model.Password, model.Email, "Компания CMS", "Регистрация на сайте компании CMS"); //Поиск пользователя user = db.Accounts.Where(u => u.Login == model.Login && u.Password == model.Password).FirstOrDefault(); //Если пользователь найден if (user != null) { //Авторизовываем пользователя FormsAuthentication.SetAuthCookie(model.Login, true); //Получение данных о пользователе var s = db.Sotrs.Where(sot => sot.Login_Acc == model.Login); Session["FIO"] = model.Surname_Sot + " " + model.Name_Sot + " " + model.Petronumic_Sot; Session["Email"] = model.Email; Session["Num_Phone"] = model.Num_Phone; Session["Address"] = model.Address; Session["Day_Of_Birth"] = model.Day_Of_Birth; Session["Photo"] = model.Photo; Session["Dolj"] = "Статус: Гость"; //Открытие личного кабинета EmployeesHub.BroadcastData(); return(RedirectToAction("Index", "Home")); } //Иначе выводим надпись, данные введены некоррекно else { ModelState.AddModelError("", "Попробуйте зарегистрироваться снова"); Session["War"] = true; return(View(model)); } } } else { //Сообщение, что пользователь с таким логином уже существует ModelState.AddModelError("", "Пользователь с данным логином уже существует"); Session["War"] = true; return(View(model)); } return(View(model)); }
public ActionResult AddOrEdit(Sotrs sotrs) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (sotrs.Guest == false && sotrs.Date_of_adoption == null) { //Если значение гость = false, необходимо указать дату принятия ViewBag.Login_Acc = new SelectList(db.Accounts, "Login", "Login", sotrs.Login_Acc); ModelState.AddModelError("Date_of_adoption", "Необходимо указать дату приема данного сотрудника"); return(View(sotrs)); } SqlCommand command = new SqlCommand("", Program.SqlConnection); //Запрос на получение возраста command.CommandText = "select Datediff(year, '" + sotrs.Day_Of_Birth + "', getdate())"; int?voz = 0; Program.SqlConnection.Open(); //Получение позраста voz = (int)command.ExecuteScalar(); Program.SqlConnection.Close(); if (voz < 16) { //Сообщение о возрастных ограничениях ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login", sotrs.Login_Acc); ModelState.AddModelError("Day_Of_Birth", "Возрастные ограничения 18+"); return(View(sotrs)); } if (sotrs.ImageUpload != null) { //Загрузка фото пользователя string filename = Path.GetFileNameWithoutExtension(sotrs.ImageUpload.FileName); string extension = Path.GetExtension(sotrs.ImageUpload.FileName); filename = filename + DateTime.Now.ToString("yymmssfff") + extension; sotrs.Photo = "/Content/Photo/st/" + filename; sotrs.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/Content/Photo/st/"), filename)); } if (sotrs.ID_Sotr.Equals(0)) { try { //Добавление пользователя sotrs.Address = Shifrovanie.Encryption(sotrs.Address); db.Sotrs.Add(sotrs); //Сохранение db.SaveChanges(); EmployeesHub.BroadcastData(); return(Redirect(Session["perehod"].ToString())); } catch { //Список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login", sotrs.Login_Acc); return(View(sotrs)); } } else { try { //Изменение данных sotrs.Address = Shifrovanie.Encryption(sotrs.Address); db.Entry(sotrs).State = EntityState.Modified; //Сохранение данных db.SaveChanges(); //Список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login", sotrs.Login_Acc); EmployeesHub.BroadcastData(); return(Redirect(Session["perehod"].ToString())); } catch { //Список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login", sotrs.Login_Acc); return(View(sotrs)); } } } else { return(Redirect("/Error/NotRight")); } }