public async Task <ActionResult> ListSubmit(DesignSummaryListModel model)
        {
            var actionData = this.GetActionData();

            switch (actionData?.ActionName)
            {
            case Actions.New:
            {
                return(RedirectToAction("Index", new { id = Guid.Empty }));
            }

            case Actions.Delete:
            {
                var designId = Guid.Parse(actionData.ActionParameter);
                var result   = await DesignUserService.DeleteDesignAsync(GetUserId(), designId);

                if (!result)
                {
                    throw new Exception("DeleteCartItemAsync failure.");
                }
            }
            break;

            case Actions.Create:
            {
                var designId = Guid.Parse(actionData.ActionParameter);
                var kitId    = await ProjectUserService.CreateProjectAsync(GetUserId(), ProjectUserService.ProjectType_Kit, "Kit", designId);

                return(RedirectToAction("Index", "Kit", new { id = kitId }));
            }

            case Actions.Undelete:
            {
                var result = await DesignUserService.UndeleteDesignAsync(GetUserId());

                if (string.IsNullOrEmpty(result))
                {
                    AddFeedbackMessage(FeedbackMessageTypes.Error, "Design could not be undeleted at this time.");
                }
                else
                {
                    AddFeedbackMessage(FeedbackMessageTypes.Informational, "Design undeleted.");
                }
            }
            break;
            }

            this.SetPagingState(model.Filter);

            model = await GetDesignSummaryListModel(this.GetPagingState(0));

            return(View("List", model));
        }