public async Task <IActionResult> PutCompletionRate([FromRoute] int id, [FromBody] CompletionRate completionRate) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != completionRate.CompletionRateId) { return(BadRequest()); } _context.Entry(completionRate).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CompletionRateExists(id)) { return(NotFound()); } else { throw; } } completionRate = _context.CompletionRates.Include(e => e.Department).FirstOrDefault(e => e.CompletionRateId == completionRate.CompletionRateId); return(Ok(completionRate)); }
public async Task <IActionResult> PostCompletionRate([FromBody] CompletionRate completionRate) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.CompletionRates.Add(completionRate); await _context.SaveChangesAsync(); completionRate = _context.CompletionRates.Include(e => e.Department).FirstOrDefault(e => e.CompletionRateId == completionRate.CompletionRateId); return(CreatedAtAction("GetCompletionRate", new { id = completionRate.CompletionRateId }, completionRate)); }
public IActionResult AddOrUpdateCompletionRate([FromBody] CompletionRate completionRate, [FromRoute] int departmentID) { var compRateExists = _context.CompletionRates.Where(f => f.DepartmentId == departmentID).Any(); if (!compRateExists) { _context.Attach <CompletionRate>(completionRate).State = EntityState.Added; _context.SaveChanges(); return(Ok(completionRate)); } else { var cr = _context.CompletionRates.Where(f => f.DepartmentId == departmentID).First(); _context.Update <CompletionRate>(cr).State = EntityState.Detached; completionRate.CompletionRateId = cr.CompletionRateId; _context.Update <CompletionRate>(completionRate).State = EntityState.Modified; _context.SaveChanges(); return(Ok(completionRate)); } }