// GET: Тесты public async Task <ActionResult> Index(string razdel = "", string redactor = "", string practice = "") { int id_Section = 0; if (redactor == "redactor") //если зашли с учетки редактора, то нужно меню для него { ViewBag.Id_user = "******"; } else if (practice == "practice") //если зашли с учетки Практика, то нужно меню для него { ViewBag.Id_user = "******"; } if (razdel != "") { id_Section = Convert.ToInt32(razdel); var тесты = (db.Тесты.Include(в => в.азделы).Include(в => в.Вопросы).Where(в => в.Id_Раздела == id_Section)); ViewBag.IdРаздела = id_Section; //для передачи в представление id раздела азделы раздел = await db.азделы.FindAsync(id_Section); //находим раздел в бд по id ViewBag.НазваниеРаздела = раздел.Название_раздела.Replace(" ", ""); //получаем название раздела return(View(await тесты.ToListAsync())); } else { var тесты = db.Тесты.Include(т => т.азделы); ViewBag.IdРаздела = 1; return(View(await тесты.ToListAsync())); } }
// GET: Тесты/Create public ActionResult Create(int?id) { // var section = (from t in db.Разделы select t).ToList(); // SelectList разделы = new SelectList(section, "id_Раздела", "Название_раздела"); азделы раздел = db.азделы.Find(id); ViewBag.аздел = раздел.id_Раздела; ViewBag.id_Теста = new SelectList(db.Тесты, "id_теста", "Название_темы_теста"); return(View()); }
public async Task <ActionResult> Index(int razdel, Тесты item, int?Units) { азделы разделы = await db.азделы.FindAsync(razdel); //получаем раздел по Id ViewBag.razdelName = разделы.Название_раздела.Replace(" ", ""); //передаем название раздела в представлнение ViewBag.razdel = razdel.ToString(); //Передаем Id раздела в представление string nameTest = item.Название_темы_теста; ViewBag.НазваниеТеста = nameTest.Replace(" ", ""); //передаем название теста в представление int selectedIndex = 0; SelectList подразделения = new SelectList(db.Подразделение, "Id_подразделения", "Название_подразделения", selectedIndex); //для передачи в представление списка подразделений ViewBag.Подразделения = подразделения; int userТестId = 0; foreach (var t in db.Тесты) //определяем id выбранного теста { if (t.Название_темы_теста == nameTest) { userТестId = t.id_теста; } } ViewBag.id_topic = userТестId; Тесты тема = await db.Тесты.FindAsync(userТестId); IQueryable <езультат_теста> users; if (Units != null) { users = (from u in db.езультат_теста where u.id_Теста == тема.id_теста && u.Пользователи.id_подразделения == Units select u); //выбор тех, кто уже сдавал теорию } else { users = (from u in db.езультат_теста where u.id_Теста == тема.id_теста select u); //выбор тех, кто уже сдавал теорию } List <Пользователи> пользователи = new List <Пользователи>(); foreach (var temp in users) { // пользователи.Add(db.Пользователи.Find(temp.id_User)); пользователи.Add(temp.Пользователи); } var sortedUsers = from u in пользователи orderby u.Фамилия select u; //сортируем пользователей по алфавиту /* List<string> status = new List<string>(); * status.Add("Не сдавалось"); * status.Add("Не сдано"); * status.Add("Сдано"); * SelectList statusPractice = new SelectList(status, status[0]); //для передачи в представление списка подразделений * ViewBag.statusPractice = statusPractice;*/ return(View(sortedUsers)); }
// GET: Разделы/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } азделы разделы = await db.азделы.FindAsync(id); if (разделы == null) { return(HttpNotFound()); } return(View(разделы)); }
public async Task <ActionResult> Edit([Bind(Include = "id_раздела,Название_раздела")] азделы разделы) { if (ModelState.IsValid) { разделы.Название_раздела = разделы.Название_раздела.TrimEnd(' '); var temp = from v in db.азделы where v.Название_раздела.Replace(" ", "").ToLower() == разделы.Название_раздела.Replace(" ", "").ToLower() select v; if (temp.Count() == 0) //проверяем, есть ли раздел с таки же именем, если нет, то добавляем { db.Entry(разделы).State = EntityState.Modified; await db.SaveChangesAsync(); } return(RedirectToAction("Index", new { redactor = "redactor" })); } return(View(разделы)); }
public async Task <ActionResult> DeleteConfirmed(int id) { азделы разделы = await db.азделы.FindAsync(id); //получеам раздел для удаления по Id var тесты = await(from t in db.Тесты where t.Id_Раздела == id select t).ToListAsync(); // получаем тесты из этого раздела List <Вопросы> вопросы = new List <Вопросы>(); //для хранения вопросов из тестов раздела List <Ответы> ответы = new List <Ответы>(); //для хранения ответов к вопросам из раздела foreach (var q in тесты) { var Q = await(from q1 in db.Вопросы where q1.id_Теста == q.id_теста select q1).ToListAsync(); //получаем все вопросы из всех тестов данного раздела foreach (var qAdd in Q) { вопросы.Add(qAdd); //заносим эти вопросы в список } } foreach (var a in вопросы) { var A = await(from a1 in db.Ответы where a1.id_Вопроса == a.id_вопроса select a1).ToListAsync(); //получаем все ответы для вопросов всех тестов данного раздела foreach (var aAdd in A) { ответы.Add(aAdd); //заносим эти ответы в список } } foreach (var aD in ответы) //удаляем ответы из раздела { db.Ответы.Remove(aD); } foreach (var qD in вопросы) //удаляем вопросы из раздела { db.Вопросы.Remove(qD); } foreach (var tD in тесты) //удаляем удаляем темы из раздела { db.Тесты.Remove(tD); } db.азделы.Remove(разделы); //удаляем раздел await db.SaveChangesAsync(); return(RedirectToAction("Index", new { redactor = "redactor" })); }