示例#1
0
        /// <summary>
        /// Changes the workflow state for the given item
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns>ChangeWorkflowResponse.</returns>
        public ChangeWorkflowResponse ChangeWorkflow(ChangeWorkflowRequest request)
        {
            var response = new ChangeWorkflowResponse
            {
                IsSuccess = false
            };

            var item = this._workflowRepository.GetItem(request.ItemId, request.Language);

            Sitecore.Workflows.IWorkflow wf = this._workflowRepository.GetWorkflow(item);

            if (wf != null)
            {
                try
                {
                    var result = wf.Execute(request.CommandId, item, request.Comment, false, new object[] { string.Empty });

                    response.IsSuccess = result.Succeeded;
                    response.Message   = result.Message;
                }
                catch (Exception ex)
                {
                    response.Message = ex.Message;
                    this._logger.LogError(ex.Message, ex);
                }
            }

            return(response);
        }
 public ChangeWorkflowResponse ChangeWorkflow(ChangeWorkflowRequest request)
 {
     return(this._workflowService.ChangeWorkflow(request));
 }