public WorklistService(string userAccount = null) { IDbFactory dbFactory = DbContextSelector.getInstance().getDbFactory(DbContextSelector.DbName.Workflow); _actLog = new ActivityHistoryRepository(dbFactory); _repo = new WMRepository(dbFactory); _provider = new ProcInstProvider(userAccount); _account = userAccount.FQNWithK2Label(); }
public string TakeAction() { _procInstProvider = new ProcInstProvider(WorkflowInstance.CurrentUser); string message = Invalid(); if (message != null) { //return JsonConvert.SerializeObject(new ResponseText(){ Message = message,Show = true}); throw new Exception(message); } if (CurrentActivity().CurrAction.FormDataProcessing.IsAddNewRequestHeader) { string invalideMsg = repository.ExecSingle <string>(string.Format( @"SELECT TOP(1) TITLE FROM [BPMDATA].[PROCESS_VALIDATOR] WHERE REQUEST_CODE = '{0}' AND REQUESTOR = {1}", REQ_CODE, WorkflowInstance.Requestor.Id)); if (!string.IsNullOrEmpty(invalideMsg)) { return(JsonConvert.SerializeObject(new ResponseText() { Message = invalideMsg, Show = true })); } if (!_procInstProvider.CanStartWorkFlow(WorkflowInstance.CurrentUser, getFullProccessName())) { throw new Exception(String.Format("{0} has no privilege to start work flow {1}", WorkflowInstance.CurrentUser, getFullProccessName())); } } AddNewRequestHeader(); EditRequestHeader(); _activityHistory = RecordActivityHistory(); SaveAttachments(); //UpdateLastActivity(); TakeFormAction(); unitOfWork.commit(); if (!IsSaveDraft()) { processWorkFlow(); /* skip out process instance */ } RecordTransactionHistory(_activityHistory); SendMail(); return(JsonConvert.SerializeObject(new ResponseText() { Message = (!string.IsNullOrEmpty(WorkflowInstance.Message) ? WorkflowInstance.Message.Replace("@FOLIO", RequestHeader.Title) : string.Format("Your request number is {0}", RequestHeader.Title)), Show = (!string.IsNullOrEmpty(WorkflowInstance.Message)) // custom message is empty then hide message })); }
public void LoadData() { //Create workflow instance CreateWorkflowInstance(); _procInstProvider = new ProcInstProvider(WorkflowInstance.CurrentUser); //Assign serail no to the instance var serialNo = WorkflowInstance.SerialNo; if (String.IsNullOrWhiteSpace(serialNo)) { throw new Exception("No serial can be found"); } if (serialNo.EndsWith("_99999")) { if (requestHeaderRepository.Editable(RequestHeader.Id, GetRequestCode(), WorkflowInstance.CurrentUser)) { WorkflowInstance.Activity = FORM_EDIT; } else { WorkflowInstance.Activity = FORM_VIEW; } } else if (serialNo.EndsWith("_00000")) { WorkflowInstance.Activity = FORM_DRAFT; } else { WorklistItem = _procInstProvider.OpenWorklistItem(serialNo); string activityName = WorklistItem.ActivityName;// ActivityInstanceDestination.Name; WorkflowInstance.Actions = GetActionList(activityName); WorkflowInstance.ViewConfig = GetViewConfig(activityName); WorkflowInstance.Activity = activityName; } WorkflowInstance.SerialNo = serialNo; //Load data to the instance LoadWorkflowInstance(); }
public WorkflowEngine(string currentUser) { _provider = new ProcInstProvider(currentUser); }
public RoleRepository(IDbFactory dbFactory) : base(dbFactory) { server = new ProcInstProvider(""); }