public DB.InvoicesApprovalWorkflow ChangeWorkflowStageAction(int workflowId, int action, string remarks, string userName) { var orginalWorkflow = invoicesWorkflowRepository.GetById(w => w.Id == workflowId); var editWorkflow = invoicesWorkflowRepository.GetById(w => w.Id == workflowId); editWorkflow.OwnerName = userName; editWorkflow.ProcessedDate = DateTime.Now; editWorkflow.Status = action; editWorkflow.Remarks = remarks; editWorkflow.IsFinished = true; invoicesWorkflowRepository.Update(orginalWorkflow, editWorkflow); var stage = new InvoicesWorkflowStagesRepository(new PmcsDbContext()).GetById(s => s.StageId == orginalWorkflow.StageId); if (stage != null) { var roleId = stage.RoleId; if (roleId != null) { var roleUsers = CommonRoutines.GetRoleUsers((int)roleId, usersAccountsRepository); //Notifications.Notification.Email(roleUsers.ToList(), Notifications.Config.NotificationObjectType.InvoiceWorkflowAction, editWorkflow.AutoMapObject<DB.InvoicesApprovalWorkflow, pmcs.Model.Contracts.InvoicesApprovalWorkflow>()); Notifications.Notification.System(roleUsers.ToList(), Notifications.Config.NotificationObjectType.InvoiceWorkflowAction, (HttpContext.Current.User as PmcsUserPrincipal).UserId, "/Contracts/LeaseContracts", editWorkflow.AutoMapObject <DB.InvoicesApprovalWorkflow, pmcs.Model.Contracts.InvoicesApprovalWorkflow>()); } } return(editWorkflow); }
public InvoicesApprovalWorkflow GetUserInvoiceWorkflowById(int workflowId) { return(invoicesApprovalWorkflowRepository .GetById(w => w.Id == workflowId) .AutoMapObject <DB.InvoicesApprovalWorkflow, InvoicesApprovalWorkflow>()); }