private async Task <bool> SetStatusValidAsync(int id, string statusUpdate) { var request = await _context.Requests.FindAsync(id); if (request == null) { return(false); } request.Status = statusUpdate; _context.SaveChanges(); return(true); }
// called by put, post, and delete methods below. They pass in requestId, a.k.a. Requests.Id. private void RecalcTotal(int requestId) { var request = _context.Requests.Find(requestId); if (request == null) { throw new Exception("There is no request matching this ID"); // indicates a serious problem } //because of a bug in .NET core, can’t use request (requestlines?), have to use context, thus: request.Total = _context.RequestLines.Where(rL => rL.RequestId == requestId) .Sum(rL => rL.Product.Price * rL.Quantity); _context.SaveChanges(); }