Example #1
0
        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 }));
        }