public async Task <IActionResult> Edit(int id, Chemical chemical) { if (id != chemical.ID) { return(NotFound()); } if (ModelState.IsValid) { chemical.GHS = 0; if (chemical.CheckedSymbols != null) { foreach (var v in chemical.CheckedSymbols) { chemical.GHS += (int)v; } } try { _db.Update(chemical); await _db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ChemicalExists(chemical.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(chemical)); }