public async Task <IActionResult> Edit(int id, [Bind("CatCritId,CategoryId,CriterionId,prio")] CatCrit catCrit) { if (id != catCrit.CatCritId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(catCrit); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CatCritExists(catCrit.CatCritId)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } ViewData["CategoryId"] = new SelectList(_context.Categories, "CategoryId", "CatDescr", catCrit.CategoryId); ViewData["CriterionId"] = new SelectList(_context.Criteria, "CriterionId", "description", catCrit.CriterionId); return(View(catCrit)); }
public async Task <IActionResult> set(CatCritViewModel model) //Настройка важности критериев для каждой категории { int count = 0; foreach (int item in model.critid) //для каждого задействованного критерия { CatCrit check = _context.CatCrits.SingleOrDefault(p => ((p.CategoryId == model.catid) && (p.CriterionId == item))); //проверяем, задавалась ли важность ранее if (check != null) //если да, то есть запись о приоритете данного критерия для данной категории существует { check.prio = model.prio[count]; //обновляем эту запись _context.CatCrits.Update(check); //обновляем БД await _context.SaveChangesAsync(); } else //если приоритет настраивается впервые { CatCrit catcrit = new CatCrit(); //создаётся новая запись catcrit.CategoryId = model.catid; //в неё помещаются данные из модели catcrit.CriterionId = item; catcrit.prio = model.prio[count]; _context.CatCrits.Add(catcrit); //обавляем запись в БД await _context.SaveChangesAsync(); } count++; } return(RedirectToAction("Index")); }
public async Task <IActionResult> Create([Bind("CatCritId,CategoryId,CriterionId,prio")] CatCrit catCrit) { if (ModelState.IsValid) { _context.Add(catCrit); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewData["CategoryId"] = new SelectList(_context.Categories, "CategoryId", "CatDescr", catCrit.CategoryId); ViewData["CriterionId"] = new SelectList(_context.Criteria, "CriterionId", "description", catCrit.CriterionId); return(View(catCrit)); }