private WorkflowItem AddWorkflowItem(Document document, User user, WorkflowDecisions workflowDecision, string message) { WorkflowItem workflowItem = new WorkflowItem(); workflowItem.Decision = (int)workflowDecision; workflowItem.DecisionDate = DateTime.Now; workflowItem.Document = document; workflowItem.Message = message; workflowItem.User = user; return workflowItem; }
public void MakeWorkflowDecision(User user, Document document, WorkflowDecisions decision, string message) { var workflowItem = AddWorkflowItem(document, user, decision, message); ClearDocumentReviewQueue(document); switch (decision) { case WorkflowDecisions.Accept: document.ApprovedBy = user; document.ApprovalDate = DateTime.Now; document.State = DocumentState.Finalized; break; case WorkflowDecisions.Reject: document.State = DocumentState.Working; break; case WorkflowDecisions.SendToSuperior: document.State = DocumentState.InReview; AddDocumentReviewQueueItem(user, document, workflowItem); break; } SaveDocument(document); }