public virtual void Delete(TEntity entityToDelete) { if (context.Entry(entityToDelete).State == EntityState.Detached) { dbSet.Attach(entityToDelete); } dbSet.Remove(entityToDelete); }
public async Task <IActionResult> PutEmployee(int id, Employee employee) { if (id != employee.Id) { return(BadRequest()); } _context.Entry(employee).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!EmployeeExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult Edit(ClientRegistration clientregistration) { if (ModelState.IsValid) { db.Entry(clientregistration).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(clientregistration)); }
public async Task <IActionResult> PutKpi(int id, Kpi kpi) { if (id != kpi.Id) { return(BadRequest()); } // _context.Entry(kpi).State = EntityState.Modified; try { var oldKpi = _context.Kpis .Include(p => p.Levels) .FirstOrDefault(p => p.Id == id); if (oldKpi != null) { // Update parent _context.Entry(oldKpi).CurrentValues.SetValues(kpi); // Delete children foreach (var level in oldKpi.Levels.ToList()) { if (!kpi.Levels.Any(c => c.Id == level.Id)) { _context.Levels.Remove(level); } } // Update and Insert children foreach (var level in kpi.Levels) { var oldLevel = oldKpi.Levels .Where(c => c.Id == level.Id) .FirstOrDefault(); if (oldLevel != null) { // Update child _context.Entry(oldLevel).CurrentValues.SetValues(level); } else { // Insert child //var newLevel = new Level //{ // Data = level.Data, // //... //}; kpi.Levels.Add(level); } } await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { if (!KpiExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }