public async Task <IActionResult> Rollback(Guid contentId, string variant) { var success = false; var message = ""; try { var currentItems = repo.GetPuckWorkflowItem().Where(x => x.ContentId == contentId && x.Variant == variant && !x.Complete).ToList(); var lastComplete = repo.GetPuckWorkflowItem().Where(x => x.ContentId == contentId && x.Variant == variant && x.Complete).OrderByDescending(x => x.CompleteDate).FirstOrDefault(); currentItems.ForEach(x => { repo.DeletePuckWorkflowItem(x); }); if (lastComplete != null) { lastComplete.Complete = false; lastComplete.CompleteDate = null; } repo.SaveChanges(); success = true; } catch (Exception ex) { message = ex.Message; log.Log(ex); } return(Json(new { success = success, message = message })); }