// Отчет "ГРАФИК РАБОТЫ" public async Task <ActionResult> Details3(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //получение данных сотрудника Sotrs sotrs = await db.Sotrs.FindAsync(id); if (sotrs == null) { return(HttpNotFound()); } //Получение графика работы сотрудника var wk = db.Work_Schedule.Where(p => p.Sotr_ID == id).OrderBy(p => p.DaysOfWeek.ID_Day).ToList(); //Получение данных штатного сотрудника var pos = db.Posit_Responsibilities.Where(p => p.Sotr_ID == id).FirstOrDefault(); if (pos != null) { //Должность ViewBag.posit = pos.Positions.Naim_Posit; } else { //Дефолтные значения ViewBag.posit = "Не назначено"; } //Добавление в виртуальную таблицу ViewBag.wk = wk; return(View(sotrs)); }
public ActionResult Settings(Sotrs sotrs) { if (User.Identity.IsAuthenticated) { //Если картинка загружена 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)); } try { //Обновление данных //Изменение данных sotrs.Address = Shifrovanie.Encryption(sotrs.Address); db.Entry(sotrs).State = EntityState.Modified; Session["FIO"] = sotrs.Surname_Sot + " " + sotrs.Name_Sot + " " + sotrs.Petronumic_Sot; Session["Email"] = sotrs.Email; Session["Num_Phone"] = sotrs.Num_Phone; Session["Address"] = sotrs.Address; Session["Day_Of_Birth"] = sotrs.Day_Of_Birth; Session["Photo"] = sotrs.Photo; Session["Dolj"] = "Статус: Гость"; var s = db.Sotrs.Include(sot => sot.Accounts).Where(sot => sot.Login_Acc == User.Identity.Name).FirstOrDefault(); 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; } //Сохранение db.SaveChanges(); //сообщение об изменении данных ViewBag.Suc = true; ViewBag.SucMes = "Ваши данные аккаунта успешно изменены"; return(View(sotrs)); } catch { //список аккаунтов ViewBag.Login_Acc = new SelectList(db.Accounts, "Login", "Password", sotrs.Login_Acc); return(View(sotrs)); } } else { return(Redirect("/Error/NotAuth")); } }
public async Task <ActionResult> DeleteConfirmed(int id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { Sotrs sotrs = await db.Sotrs.FindAsync(id); //Удаление db.Sotrs.Remove(sotrs); //Сохранение await db.SaveChangesAsync(); return(RedirectToAction("Index")); } 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 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 async Task <ActionResult> Details(int?id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (id == null) { //400 ошибка return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //поиск по ключу Sotrs sotrs = await db.Sotrs.FindAsync(id); if (sotrs == null) { //404 ошибка return(HttpNotFound()); } return(View(sotrs)); } else { return(Redirect("/Error/NotRight")); } }
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")); } }
// Отчет "ПОЛНЫЙ ОТЧЕТ ПО СОТРУДНИКУ" public async Task <ActionResult> Details2(int?id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (id == null) { //400 ошибка return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //поиск по ключу Sotrs sotrs = await db.Sotrs.FindAsync(id); if (sotrs == null) { //404 ошибка return(HttpNotFound()); } //Получение данных штатного сотрудника var pos = db.Posit_Responsibilities.Where(p => p.Sotr_ID == id).FirstOrDefault(); if (pos != null) { //Отдел ViewBag.dep = pos.Positions.Departments.Naim_Depart; //Должность ViewBag.posit = pos.Positions.Naim_Posit; //Ставка ViewBag.rate = pos.Rates.Rate; } else { //Дефолтные значения ViewBag.dep = "Не назначено"; ViewBag.posit = "Не назначено"; ViewBag.rate = "Не назначено"; } if (pos != null) { //Данные испытательного срока var isp = db.Isp_Sroki.Where(p => p.Pos_Res_ID == pos.ID_Pos_Res).ToList(); if (isp != null) { ViewBag.isp = isp.ToList(); } else { ViewBag.isp = null; } } else { ViewBag.isp = null; } //Данные реестра документов сотрудника var doc = db.Sbor_Docum.Where(p => p.Sotr_ID == id).ToList(); ViewBag.doc = doc; var step = db.Steps.Where(p => p.Sotr_ID == id).ToList(); ViewBag.step = step; return(View(sotrs)); } else { return(Redirect("/Error/NotRight")); } }