public void ForwardNextStage(Model.Contracts.InvoicesApprovalWorkflow newWorkflow, Model.InvoiceWorkflowStage nextStage) { newWorkflow.IsFinished = false; var forwardNext = invoicesWorkflowRepository.Insert(newWorkflow.AutoMapObject <Model.Contracts.InvoicesApprovalWorkflow, DB.InvoicesApprovalWorkflow>()); var stageRole = nextStage.RoleId; if (stageRole != null) { var roleUsers = CommonRoutines.GetRoleUsers((int)stageRole, usersAccountsRepository); //send notifications. //Notifications.Notification.Email(roleUsers.ToList(), Notifications.Config.NotificationObjectType.LeaseContractWorkflowApproval, newWorkflow); Notifications.Notification.System(roleUsers.ToList(), Notifications.Config.NotificationObjectType.InvoiceWorkflowAction, (HttpContext.Current.User as PmcsUserPrincipal).UserId, "/Contracts/LeaseContracts", newWorkflow); } }
public Model.Contracts.InvoicesApprovalWorkflow BeginWorkflowProcess(Model.Contracts.InvoicesApprovalWorkflow workflowApproval, Model.InvoiceWorkflowStage firstStage) { workflowApproval.IsFinished = false; var approval = invoicesWorkflowRepository.Insert(workflowApproval.AutoMapObject <Model.Contracts.InvoicesApprovalWorkflow, DB.InvoicesApprovalWorkflow>()); var stageRole = firstStage.RoleId; if (stageRole != null) { var roleUsers = CommonRoutines.GetRoleUsers((int)stageRole, usersAccountsRepository); // send notifications. Notifications.Notification.Email <Model.Contracts.InvoicesApprovalWorkflow>(roleUsers.ToList(), Notifications.Config.NotificationObjectType.BeginInvoiceWorkflow, approval.AutoMapObject <DB.InvoicesApprovalWorkflow, pmcs.Model.Contracts.InvoicesApprovalWorkflow>()); Notifications.Notification.System <Model.Contracts.InvoicesApprovalWorkflow>(roleUsers.ToList(), Notifications.Config.NotificationObjectType.BeginInvoiceWorkflow, (HttpContext.Current.User as PmcsUserPrincipal).UserId, "/Contracts/LeaseContracts", approval.AutoMapObject <DB.InvoicesApprovalWorkflow, pmcs.Model.Contracts.InvoicesApprovalWorkflow>()); } return(approval.AutoMapObject <DB.InvoicesApprovalWorkflow, Model.Contracts.InvoicesApprovalWorkflow>()); }