public ActionResult Login(LoginModel model) { //Если не авторизован if (User.Identity.IsAuthenticated) { //Переход на начальную страницу return(RedirectToAction("Index", "Home")); } else { //Если валидация прошла успешно if (ModelState.IsValid) { // поиск пользователя в бд Accounts user = null; string pa = Shifrovanie.Hash(model.Password); //Поиск аккаунта по логину и паролю user = db.Accounts.FirstOrDefault(u => u.Login == model.Login && u.Password_Shifr == pa); //Если найден, то открыть домашнюю страницу if (user != null) { ViewBag.noacc = false; //Указываем логин для пользователя FormsAuthentication.SetAuthCookie(model.Login, true); //Поиск данных пользователя var s = db.Sotrs.Where(sot => sot.Login_Acc == model.Login).FirstOrDefault(); //Необходимо присвоить данные для отображения в личном кабинете Session["FIO"] = s.Surname_Sot + " " + s.Name_Sot + " " + s.Petronumic_Sot; Session["Email"] = s.Email; Session["Num_Phone"] = s.Num_Phone; Session["Address"] = Shifrovanie.Decryption(s.Address); Session["Day_Of_Birth"] = s.Day_Of_Birth; Session["Photo"] = s.Photo; Session["Dolj"] = "Статус: Гость"; Session["Guest"] = s.Guest; //Если не гость, не заблокирован и не уволенный if ((bool)Session["Guest"] == false && s.Accounts.Block == false && s.fired == false) { //Получение прав доступа Session["Manip_Sotrs"] = s.Accounts.Roles.Manip_Sotrs; Session["Manip_Roles"] = s.Accounts.Roles.Manip_Roles; Session["Manip_Tests"] = s.Accounts.Roles.Manip_Tests; Session["Manip_Department"] = s.Accounts.Roles.Manip_Department; Session["Dolj"] = "Статус: Сотрудник "; } //Переход в личный кабинет return(RedirectToAction("Index", "Home")); } //Иначе вывести надпись, что пользователь отсутствует else { //Вывод блока с сообщением, что данного пользователя нет ViewBag.noacc = true; ViewBag.noacct = "Пользователя с данным логином и паролем не существует"; return(View(model)); } } } return(View(model)); }
// GET: Pass_Dannie1/Edit/5 public async Task <ActionResult> Edit(int?id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (id == null) { //400 ошибка return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Поиск по ключу Pass_Dannie pass_Dannie = await db.Pass_Dannie.FindAsync(id); pass_Dannie.S_Pas = Shifrovanie.Decryption(pass_Dannie.S_Pas); pass_Dannie.N_Pas = Shifrovanie.Decryption(pass_Dannie.N_Pas); var fio = db.Sotrs.Where(f => f.ID_Sotr == pass_Dannie.Sotr_ID).FirstOrDefault(); ViewBag.fio = fio.Full; if (pass_Dannie == null) { //404 ошибка return(HttpNotFound()); } //Список сотрудников ViewBag.Sotr_ID = new SelectList(db.Sotrs.Where(i => i.fired == false && i.Accounts.Block == false), "ID_Sotr", "Full", pass_Dannie.Sotr_ID); return(View(pass_Dannie)); } else { return(Redirect("/Error/NotRight")); } }
public ActionResult Settings() { if (User.Identity.IsAuthenticated) { ViewBag.Suc = false; ViewBag.SucMes = ""; //получение данных аккаунта var s = db.Sotrs.Where(sot => sot.Login_Acc == User.Identity.Name).FirstOrDefault(); Sotrs sotrs = new Sotrs(); sotrs = db.Sotrs.Find(s.ID_Sotr); sotrs.Address = Shifrovanie.Decryption(sotrs.Address); if (sotrs == null) { //404 ошибка return(HttpNotFound()); } return(View(sotrs)); } else { return(Redirect("/Error/NotAuth")); } }
public ActionResult AddOrEdit(int id = 0) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { Sotrs sotrs = new Sotrs(); //Если ключ = 0 if (id == 0) { //Список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login"); return(View(sotrs)); } else { //Поиск по ключу sotrs = db.Sotrs.Find(id); if (sotrs == null) { //404 ошибка return(HttpNotFound()); } sotrs.Address = Shifrovanie.Decryption(sotrs.Address); //Список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts.Where(a => a.Block == false), "Login", "Login", sotrs.Login_Acc); if (sotrs == null) { //404 ошибка return(HttpNotFound()); } return(View(sotrs)); } } else { return(Redirect("/Error/NotRight")); } }
public ActionResult Index() { //Обновление испытательных сроков Program.update(); ViewBag.isp = Program.colIsp; if (User.Identity.IsAuthenticated) { //Получение данных о пользователе var s = db.Sotrs.Where(sot => sot.Login_Acc == User.Identity.Name).FirstOrDefault(); Session["FIO"] = s.Surname_Sot + " " + s.Name_Sot + " " + s.Petronumic_Sot; Session["Email"] = s.Email; Session["Num_Phone"] = s.Num_Phone; Session["Address"] = Shifrovanie.Decryption(s.Address); Session["Day_Of_Birth"] = s.Day_Of_Birth; Session["Photo"] = s.Photo; Session["Dolj"] = "Статус: Гость"; Session["log"] = "Ваш логин: " + User.Identity.Name; Session["Guest"] = s.Guest; //Если не гость, не заблокирован, не уволен if ((bool)Session["Guest"] == false && s.Accounts.Block == false && s.fired == false) { Session["Manip_Sotrs"] = s.Accounts.Roles.Manip_Sotrs; Session["Manip_Roles"] = s.Accounts.Roles.Manip_Roles; Session["Manip_Tests"] = s.Accounts.Roles.Manip_Tests; Session["Manip_Department"] = s.Accounts.Roles.Manip_Department; Session["Dolj"] = "Статус: Сотрудник"; var p = db.Posit_Responsibilities.Where(po => po.Sotrs.Login_Acc == User.Identity.Name).FirstOrDefault(); if (p != null) { //Данные испытательного срока var isp = db.Isp_Sroki.Where(i => i.Pos_Res_ID == p.ID_Pos_Res).FirstOrDefault(); if (isp != null) { switch (isp.Status_ID) { case 1: ViewBag.isp = 100; break; case 2: ViewBag.isp = 50; break; case 3: ViewBag.isp = 75; break; case 4: ViewBag.isp = 0; break; } } else { ViewBag.isp = 0; } //Этапы принятия var step = db.Steps.Where(st => st.Sotrs.Login_Acc == User.Identity.Name); if (step != null) { ViewBag.steps = step.ToList(); } } return(View()); } else { return(View()); } } //Не авторизованный пользователь return(RedirectToAction("NotAuth", "Error")); }