public WorkFlowController(IUnitOfWork unitOfWork, WorkFlowService workFlowService) { _unitOfWork = unitOfWork; _workFlowService = workFlowService; _formService = new FormService(_unitOfWork); _decisionMethodService = new DecisionMethodService(_unitOfWork); }
protected void ctlConfirmPopup_OnNotifyPopup(object sender, PopUpReturnArgs args) { try { if (args.Type == PopUpReturnType.OK) { WorkFlowStateEvent workFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.GetSendDraftStateEvent(WorkFlowTypeID.RemittanceWorkFlow); int intWorkFlowStateEventID = workFlowStateEvent.WorkFlowStateEventID; object eventData = new SubmitResponse(intWorkFlowStateEventID); WorkFlowService.NotifyEvent(this.WorkFlowID, workFlowStateEvent.Name, eventData); Response.Redirect("SubmitResult.aspx?wfid=" + this.WorkFlowID); } } catch (ServiceValidationException ex) { this.ValidationErrors.MergeErrors(ex.ValidationErrors); ctlUpdatePanelValidation.Update(); } // if No error then redirect to SubmitResult.aspx if (this.ValidationErrors.IsEmpty) { //Page.RegisterStartupScript("comfirm", "<script>return confirm('Do you want to send your document to WorkFlow')</script>"); Response.Redirect("DocumentView.aspx?wfid=" + this.WorkFlowID.ToString()); } }
public IList <object> GetEditableFields(long?documentID) { IList <object> editableFields = new List <object>(); if (documentID.HasValue) // Check whether new flag then return the default editableFields. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); if (workFlow != null) { return(WorkFlowService.GetEditableFields(workFlow.WorkFlowID)); } } editableFields.Add(FixedAdvanceFieldGroup.PaymentType); editableFields.Add(FixedAdvanceFieldGroup.Initiator); editableFields.Add(FixedAdvanceFieldGroup.Attachment); editableFields.Add(FixedAdvanceFieldGroup.Memo); editableFields.Add(FixedAdvanceFieldGroup.Other); editableFields.Add(FixedAdvanceFieldGroup.RequestDate); editableFields.Add(FixedAdvanceFieldGroup.ServiceTeam); editableFields.Add(FixedAdvanceFieldGroup.BuActor); editableFields.Add(FixedAdvanceFieldGroup.CounterCashier); editableFields.Add(FixedAdvanceFieldGroup.Subject); editableFields.Add(FixedAdvanceFieldGroup.Company); return(editableFields); }
private void WorkFlowApprove(string DocKind) { string wfid = System.Web.HttpContext.Current.Request.QueryString["wfid"].ToString(); if (DocKind == DocumentKind.Advance.ToString()) { IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Advance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(int.Parse(wfid), WorkFlowEventNameConst.Approve, eventData); } else if (DocKind == DocumentKind.Remittance.ToString()) { IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveRemittance, WorkFlowTypeName.Remittance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(int.Parse(wfid), WorkFlowEventNameConst.Approve, eventData); } else if (DocKind == DocumentKind.Expense.ToString()) { IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Expense); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(int.Parse(wfid), WorkFlowEventNameConst.Approve, eventData); } else if (DocKind == DocumentKind.ExpenseRemittance.ToString()) { IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Pay, WorkFlowStatEventNameConst.WaitRemittance, WorkFlowTypeName.Expense); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(int.Parse(wfid), WorkFlowEventNameConst.Pay, eventData); } }
protected void ctlConfirmPopup_OnNotifyPopup(object sender, PopUpReturnArgs args) { int intWorkFlowStateEventID = 0; try { if (args.Type == PopUpReturnType.OK) { WorkFlowStateEvent workFlowStateEvent = WorkFlowQueryProvider.WorkFlowStateEventQuery.GetSendDraftStateEvent(WorkFlowTypeID.FixedAdvanceWorkFlow); intWorkFlowStateEventID = workFlowStateEvent.WorkFlowStateEventID; object eventData = new SubmitResponse(intWorkFlowStateEventID); WorkFlowService.NotifyEvent(this.WorkflowID, workFlowStateEvent.Name, eventData); Response.Redirect("SubmitResult.aspx?wfid=" + this.WorkflowID); } } catch (ServiceValidationException ex) { this.ValidationErrors.MergeErrors(ex.ValidationErrors); ctlUpdatePanelValidation.Update(); } if (this.ValidationErrors.IsEmpty) { Response.Redirect("DocumentView.aspx?wfid=" + this.WorkflowID.ToString()); } }
public IList <object> GetVisibleFields(long?documentID) { IList <object> visibleFields = new List <object>(); if (!documentID.HasValue) // Check whether new flag then return the default editableFields. { visibleFields.Add(AdvanceFieldGroup.Subject); visibleFields.Add(AdvanceFieldGroup.PaymentType); visibleFields.Add(AdvanceFieldGroup.RequestDateOfAdvance); visibleFields.Add(AdvanceFieldGroup.RequestDateOfRemittance); visibleFields.Add(AdvanceFieldGroup.Reason); visibleFields.Add(AdvanceFieldGroup.Initiator); visibleFields.Add(AdvanceFieldGroup.Attachment); visibleFields.Add(AdvanceFieldGroup.Memo); //visibleFields.Add(AdvanceFieldGroup.ExchangeRateForPerDiemCalculation); visibleFields.Add(AdvanceFieldGroup.Other); visibleFields.Add(AdvanceFieldGroup.AdvanceReferTA); visibleFields.Add(AdvanceFieldGroup.Company); visibleFields.Add(AdvanceFieldGroup.ServiceTeam); visibleFields.Add(AdvanceFieldGroup.BuActor); visibleFields.Add(AdvanceFieldGroup.CounterCashier); visibleFields.Add(AdvanceFieldGroup.DomesticAmountTHB); visibleFields.Add(AdvanceFieldGroup.ArrivalDate); visibleFields.Add(AdvanceFieldGroup.CurrencyAmount); visibleFields.Add(AdvanceFieldGroup.PaymentTypeFR); visibleFields.Add(AdvanceFieldGroup.CurrencyRepOffice); } else // Check whether view or edit flag then return editableFields from workflow state. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); visibleFields = WorkFlowService.GetVisibleFields(workFlow.WorkFlowID); } return(visibleFields); }
protected void Page_Load(object sender, EventArgs e) { string TokenCode = Request.QueryString["TokenCode"] == null ? string.Empty : Request.QueryString["TokenCode"].Trim(); string From = Request.QueryString["From"] == null ? string.Empty : Request.QueryString["From"].Trim(); string Type = Request.QueryString["Type"] == null ? string.Empty : Request.QueryString["Type"].Trim(); int eventID = Request.QueryString["EventID"] == null ? -1 : Int32.Parse(Request.QueryString["EventID"].Trim()); //1. SignIn by UserName (From) string userName = SS.SU.Query.QueryProvider.SuUserQuery.FindByIdentity(UIHelper.ParseLong(From)).UserName; UserEngine.SignIn(userName); this.Title = "Approval via Email By :" + userName; this.ProgramCode = "ApprovalViaEmail"; UserAccount.CurrentProgramCode = this.ProgramCode; //1.1 If cannot SignIn , we not need to call workflow if (UserAccount.Authentication) { try { WorkFlowResponseToken token = WorkFlowResponseTokenQuery.GetByTokenCode_WorkFlowStateEventID(TokenCode, eventID); if (token == null) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); errors.AddError("General.Error", new Spring.Validation.ErrorMessage( GetMessage("InvalidTokenID") )); throw new ServiceValidationException(errors); } else { string successText = GetMessage("ApproveRejectResultMessage", token.WorkFlow.Document.DocumentNo, WorkFlowStateEventQuery.GetTranslatedEventName( token.WorkFlowStateEvent.WorkFlowStateEventID, UserAccount.CurrentLanguageID)); WorkFlowService.NotifyEventFromToken(TokenCode, UserAccount.UserID, eventID, TokenType.Email); ctlResult.Text = successText; } } catch (ServiceValidationException ex) { this.ValidationErrors.MergeErrors(ex.ValidationErrors); } finally { UserEngine.SignOut(UserAccount.UserID); } } else { this.ValidationErrors.AddError("General.Error", new Spring.Validation.ErrorMessage("ApproveRejectResultLoginFail")); } }
public IList <object> GetVisibleFields(long?documentID) { IList <object> visibleFields = new List <object>(); if (!documentID.HasValue) // Check whether new flag then return the default editableFields. { visibleFields.Add(FixedAdvanceFieldGroup.PaymentType); visibleFields.Add(FixedAdvanceFieldGroup.Initiator); visibleFields.Add(FixedAdvanceFieldGroup.Attachment); visibleFields.Add(FixedAdvanceFieldGroup.Memo); visibleFields.Add(FixedAdvanceFieldGroup.Other); visibleFields.Add(FixedAdvanceFieldGroup.RequestDate); visibleFields.Add(FixedAdvanceFieldGroup.Company); visibleFields.Add(FixedAdvanceFieldGroup.ServiceTeam); visibleFields.Add(FixedAdvanceFieldGroup.BuActor); visibleFields.Add(FixedAdvanceFieldGroup.CounterCashier); visibleFields.Add(FixedAdvanceFieldGroup.Subject); } else // Check whether view or edit flag then return editableFields from workflow state. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); visibleFields = WorkFlowService.GetVisibleFields(workFlow.WorkFlowID); } return(visibleFields); }
protected ActionResult MoveNext(string successTip, string failTip, object moveParam, Func <string, bool> doIfSuccessful, string reason = "未填写", RelationMoveParam relation = null) { var workFlowInstanceId = Request["id"]; //var uid = Request["uid"]; var param = new WorkFlowParams(workFlowInstanceId, DataContext.UserId, moveParam, doIfSuccessful, DataContext.UserId, reason, relation); return(WorkFlowService.MoveNext(param) ? Json(State.SuccessAutoClose, successTip) : Json(State.Fail, failTip));; }
public IList <object> GetEditableFields(long?documentID) { IList <object> editableFields = new List <object>(); if (documentID.HasValue) // Check whether new flag then return the default editableFields. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); if (workFlow != null) { return(WorkFlowService.GetEditableFields(workFlow.WorkFlowID)); } } editableFields.Add(RemittanceFieldGroup.All); editableFields.Add(RemittanceFieldGroup.Company); editableFields.Add(RemittanceFieldGroup.FullClearing); return(editableFields); }
public IList <object> GetEditableFields(long?documentID) { IList <object> editableFields = new List <object>(); if (!documentID.HasValue) // Check whether new flag then return the default editableFields. { editableFields.Add(MPAFieldGroup.All); editableFields.Add(MPAFieldGroup.Company); editableFields.Add(MPAFieldGroup.Initiator); } else // Check whether view or edit flag then return editableFields from workflow state. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); editableFields = WorkFlowService.GetEditableFields(workFlow.WorkFlowID); } return(editableFields); }
public IList <object> GetVisibleFields(long?documentID) { IList <object> visibleFields = new List <object>(); if (documentID.HasValue) // Check whether new flag then return the default editableFields. { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.GetWorkFlowByDocumentID(documentID.Value); if (workFlow != null) { return(WorkFlowService.GetVisibleFields(workFlow.WorkFlowID)); } } //Because of Remiitance Document does not has Hold State , //And It don't have spacial group , then return group All visibleFields.Add(RemittanceFieldGroup.All); visibleFields.Add(RemittanceFieldGroup.Company); visibleFields.Add(RemittanceFieldGroup.FullClearing); return(visibleFields); }
private static void Main() { DIContainer.SetupInjector(); WorkFlowService objWFservice = DIContainer.GetWorkFlowServiceInstance(); try { objWFservice.logger.Trace("STARTED: Main"); if (objWFservice.StartWorkFlowService()) { objWFservice.logger.Trace("SUCCESS: Application succcesfully executed with 0 error."); objWFservice.logger.Trace("ENDED: Main"); } else { objWFservice.logger.Trace("ERROR: Application aborted with 1 error."); } Console.ReadKey(); } catch (Exception ex) { objWFservice.logger.Error(ex, ex.TargetSite.Name); } }
public long SaveToDatabase() { // Save all table in dataset to database and clear transaction. long caDocumentID = CADocumentService.SaveCADocument(this.TransactionID, this.CADocumentID); // Get ta document CADocument caDocument = ScgeAccountingQueryProvider.CADocumentQuery.FindProxyByIdentity(caDocumentID); TransactionService.Commit(this.TransactionID); #region Work Flow long workFlowID = 0; // Save New WorkFlow. if ((caDocument != null) && (caDocument.DocumentID != null)) { SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.FindProxyByIdentity(caDocument.DocumentID.DocumentID); SS.Standard.WorkFlow.DTO.WorkFlow workFlow = new SS.Standard.WorkFlow.DTO.WorkFlow(); // WorkFlow Type ID = 9 is CA Workflow Image. wait confirm where to store this data. workFlow.WorkFlowType = new SS.Standard.WorkFlow.DTO.WorkFlowType(WorkFlowTypeID.CAWorkFlow); // WorkFlow Type ID = 9 is CA Workflow Image. wait confirm where to store this data. workFlow.CurrentState = WorkFlowQueryProvider.WorkFlowStateQuery.FindWorkFlowStateIDByTypeIDAndStateName(WorkFlowTypeID.CAWorkFlow, WorkFlowStateFlag.Draft); workFlow.Description = null; workFlow.Document = document; workFlow.Active = true; workFlow.CreBy = document.CreBy; workFlow.CreDate = document.CreDate; workFlow.UpdBy = document.UpdBy; workFlow.UpdDate = document.UpdDate; workFlow.UpdPgm = document.UpdPgm; workFlowID = WorkFlowService.CheckExistAndAddNew(workFlow); } #endregion Work Flow return(workFlowID); }
private bool CallWorkFlow(string TokenCode, string approveFlag, string From) { //1.1 If cannot SignIn , we not need to call workflow string docNo = ""; if (UserAccount != null && UserAccount.Authentication) { try { IList <WorkFlowResponseToken> responseTokens = WorkFlowQueryProvider.WorkFlowResponseTokenQuery.FindByTokenCode(TokenCode); int?eventID = null; foreach (WorkFlowResponseToken responseToken in responseTokens) { if (responseToken.WorkFlowStateEvent.Name.ToLower() == approveFlag.ToLower()) { eventID = responseToken.WorkFlowStateEvent.WorkFlowStateEventID; break; } else if (responseToken.WorkFlowStateEvent.Name.ToLower() == approveFlag.ToLower()) { eventID = responseToken.WorkFlowStateEvent.WorkFlowStateEventID; break; } } WorkFlowResponseToken token = WorkFlowResponseTokenQuery.GetByTokenCode_WorkFlowStateEventID(TokenCode, eventID.Value); if (token == null) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); string error = new Spring.Validation.ErrorMessage("InvalidTokenID").ToString(); //errors.AddError("General.Error", new Spring.Validation.ErrorMessage("InvalidTokenID")); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); //throw new ServiceValidationException(errors); } else { docNo = token.WorkFlow.Document.DocumentNo; string successText = GetMessage("ApproveRejectResultMessage", token.WorkFlow.Document.DocumentNo, WorkFlowStateEventQuery.GetTranslatedEventName( token.WorkFlowStateEvent.WorkFlowStateEventID, UserAccount.CurrentLanguageID)); WorkFlowService.NotifyEventFromSMSToken(TokenCode, UserAccount.UserID, eventID.Value, TokenType.SMS); //send sms notify approve comleted user SCGSMSService.SendSMS05(TokenCode, UserAccount.UserID, true, approveFlag); } } catch (ServiceValidationException ex) { this.ValidationErrors.MergeErrors(ex.ValidationErrors); string error = ex.ValidationErrors.ToString(); //send sms notify approve comleted user //SCGSMSService.SendSMS04(TokenCode + " " + approveFlag + " ", UserAccount.UserID, true); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); } catch (Exception exm) { string error = exm.Message.ToString(); //send sms notify approve comleted user //SCGSMSService.SendSMS04(TokenCode + " " + approveFlag + " ", UserAccount.UserID, true); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); } finally { UserEngine.SignOut(UserAccount.UserID); } } else { this.ValidationErrors.AddError("General.Error", new Spring.Validation.ErrorMessage("ApproveRejectResultLoginFail")); //send sms notify approve comleted user SCGSMSService.SendSMS06(TokenCode, UserAccount.UserID, true); } return(true); }
public void MultipleApproveVerify() { IList <long> workflowList = GetWorkflowIDForMultipleApprove(); ApproveVerifyStatus approveVerifyStatus = null; List <ApproveVerifyStatus> approveVerifyStatusList = new List <ApproveVerifyStatus>(); foreach (long workflowId in workflowList) { try { SS.Standard.WorkFlow.DTO.WorkFlow workFlow = WorkFlowQueryProvider.WorkFlowQuery.FindByIdentity(workflowId); SCGDocument document = ScgeAccountingQueryProvider.SCGDocumentQuery.GetSCGDocumentByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus = new ApproveVerifyStatus(); approveVerifyStatus.DocumentNo = document.DocumentNo; approveVerifyStatus.Subject = document.Subject; int workFlowStateEventID = ScgeAccountingQueryProvider.SCGDocumentQuery.GetWorkStateEvent(workFlow.CurrentState.WorkFlowStateID, WorkFlowEventNameConst.Approve); if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.AdvanceWorkFlowType) { AvAdvanceDocument advDocument = ScgeAccountingQueryProvider.AvAdvanceDocumentQuery.GetAvAdvanceByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = advDocument.Amount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Advance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } else if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.ExpenseWorkFlow) { FnExpenseDocument expDocument = ScgeAccountingQueryProvider.FnExpenseDocumentQuery.GetExpenseDocumentByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = expDocument.DifferenceAmount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveVerify, WorkFlowTypeName.Expense); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } else if (workFlow.WorkFlowType.WorkFlowTypeID == WorkFlowTypeID.RemittanceWorkFlow) { FnRemittance rmtDocument = ScgeAccountingQueryProvider.FnRemittanceQuery.GetFnRemittanceByDocumentID(workFlow.Document.DocumentID); approveVerifyStatus.Amount = rmtDocument.TotalAmount; IList <WorkFlowStateEvent> workFlowState = WorkFlowQueryProvider.WorkFlowStateEventQuery.FindWorkFlowStateEvent(WorkFlowEventNameConst.Approve, WorkFlowStatEventNameConst.WaitApproveRemittance, WorkFlowTypeName.Remittance); object eventData = new SubmitResponse(workFlowState[0].WorkFlowStateEventID); WorkFlowService.NotifyEvent(workflowId, WorkFlowEventNameConst.Approve, eventData); } approveVerifyStatus.Status = "Success"; } catch (ServiceValidationException ex) { approveVerifyStatus.Status = "Error"; approveVerifyStatus.Reason = new List <string>(); foreach (Spring.Validation.ErrorMessage errorMsg in ex.ValidationErrors.GetErrors("WorkFlow.Error")) { approveVerifyStatus.Reason.Add(errorMsg.Id); } //ctlApproveStatusSummary.ValidationErrors.MergeErrors(ex.ValidationErrors); } approveVerifyStatusList.Add(approveVerifyStatus); } if (approveVerifyStatusList.Count > 0) { ctlApproveStatusSummary.DataList = approveVerifyStatusList.OrderBy(x => x.Status).ThenBy(x => x.DocumentNo).ToList(); ctlApproveStatusSummary.BindGridView(); ctlApproveResultSummaryModalPopupExtender.Show(); } }
private static void Main(string[] args) { DIContainer.SetupInjector(); WorkFlowService objWFservice = DIContainer.GetWorkFlowServiceInstance(); try { objWFservice.logger.Trace("STARTED: Main"); if (args.Length >= 4) { _inputFile = args[0]; _inputRecordLength = args[1]; _dataCenter = args[2]; _trackingId = args[3]; objWFservice.logger.Trace("Input file name: " + _inputFile + ""); objWFservice.logger.Trace("Input record length: " + _inputRecordLength); objWFservice.logger.Trace("Data Center: " + _dataCenter); objWFservice.logger.Trace("Tracking Id: " + _trackingId); if (!File.Exists(_inputFile)) { objWFservice.logger.Trace($"Input file does not exist: {_inputFile}."); throw new FileNotFoundException($"Carrington Mortgage: File not found at location = {_inputFile}"); } if (objWFservice.StartWorkFlowService(_inputFile, _trackingId)) { // objWFservice.logger.Trace("SUCCESS: Application succcesfully executed with 0 error."); objWFservice.logger.Trace("ENDED: Main"); } else { objWFservice.logger.Trace("ERROR: Application aborted with 1 error."); } } else { objWFservice.logger.Trace("Invalid number of parameters supplied."); } Console.ReadKey(); } catch (Exception ex) { objWFservice.logger.Error(ex, ex.TargetSite.Name); } // DIContainer.SetupInjector(); // WorkFlowExpert objWFservice = DIContainer.GetWorkFlowServiceInstance(); //try //{ // objWFservice.logger.Trace("STARTED: Main"); // if (args.Length >= 4) // { // _inputFile = args[0]; // _inputRecordLength = args[1]; // _dataCenter = args[2]; // _trackingId = args[3]; // bool status = objWFservice.FileReadingProcess(_inputFile, _trackingId); // Logger.Trace("Input file name: " + _inputFile + ""); // Logger.Trace("Input record length: " + _inputRecordLength); // Logger.Trace("Data Center: {0}" + _dataCenter); // Logger.Trace("Tracking Id: {0}" + _trackingId); // if (!File.Exists(_inputFile)) // { // objWFservice.logger.Trace($"Input file does not exist: {_inputFile}."); // throw new FileNotFoundException($"FirstTech_HELOC_Mortgage: file {_inputFile}"); // } // } // else // { // objWFservice.logger.Trace("Invalid number of parameters supplied."); // } //} //catch (Exception ex) //{ // // objWFservice.logger.Error(ex, ex.TargetSite.Name); //} }
private bool CallWorkFlow(string TokenCode, string approveFlag, string From) { //1.1 If cannot SignIn , we not need to call workflow IWorkFlowResponseTokenQuery WorkFlowResponseTokenQuery = (IWorkFlowResponseTokenQuery)ContextRegistry.GetContext().GetObject("WorkFlowResponseTokenQuery"); string docNo = ""; if (UserAccount != null && UserAccount.Authentication) { try { IList <WorkFlowResponseToken> responseTokens = WorkFlowResponseTokenQuery.FindByTokenCode(TokenCode); int?eventID = null; foreach (WorkFlowResponseToken responseToken in responseTokens) { if (responseToken.WorkFlowStateEvent.Name.ToLower() == approveFlag.ToLower()) { eventID = responseToken.WorkFlowStateEvent.WorkFlowStateEventID; break; } else if (responseToken.WorkFlowStateEvent.Name.ToLower() == approveFlag.ToLower()) { eventID = responseToken.WorkFlowStateEvent.WorkFlowStateEventID; break; } } WorkFlowResponseToken token = WorkFlowResponseTokenQuery.GetByTokenCode_WorkFlowStateEventID(TokenCode, eventID.Value); if (token == null) { Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors(); string error = new Spring.Validation.ErrorMessage("InvalidTokenID").ToString(); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); } else { docNo = token.WorkFlow.Document.DocumentNo; WorkFlowService = (IWorkFlowService)ContextRegistry.GetContext().GetObject("WorkFlowService"); WorkFlowService.NotifyEventFromSMSToken(TokenCode, UserAccount.UserID, eventID.Value, TokenType.SMS); //send sms notify approve comleted user SCGSMSService.SendSMS05(TokenCode, UserAccount.UserID, true, approveFlag); } } catch (ServiceValidationException ex) { string error = ex.ValidationErrors.ToString(); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); } catch (Exception exm) { string error = exm.Message.ToString(); //send sms notify error SCGSMSService.SendSMS09(error, TokenCode, From, true); } finally { UserEngine.SignOut(UserAccount.UserID); } } else { //send sms notify approve comleted user SCGSMSService.SendSMS06(TokenCode, UserAccount.UserID, true); } return(true); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Buffer = true; context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1.0); context.Response.AddHeader("pragma", "no-cache"); context.Response.AddHeader("cache-control", ""); context.Response.CacheControl = "no-cache"; string Action = context.Request["action"]; string WorkInfoId = context.Request["WorkInfoId"]; string ContractId = context.Request["ContractId"]; string ContractType = context.Request["ContractType"]; string HUID = context.Request["HUID"]; Contract_IDAO cidal = new Contract_Dal(); if (RequestSession.GetSessionUser() == null) { context.Response.Write(""); context.Response.End(); } if (Action != null) { string ACT = Action.ToUpper(); if (ACT == "SUBMIT") { //WorkFlowService flowService = new WorkFlowService(); //context.Response.Write(flowService.CreateWorkFlow(ContractId).ToUpper()); //context.Response.End(); //判断是否已经存在审批记录 string UID = cidal.GetUIDbyHUID(HUID); bool isexist = cidal.IsExistApprove(UID); if (isexist) { context.Response.Write("EXIST"); context.Response.End(); } else { if (!string.IsNullOrEmpty(UID)) { WorkFlowService flowService = new WorkFlowService(); context.Response.Write(flowService.CreateWorkFlow(UID).ToUpper()); context.Response.End(); } else { context.Response.Write("false"); context.Response.End(); } } } } else { context.Response.Write("false"); context.Response.End(); } }
protected void btn_addContract_Click(object sender, EventArgs e) { WorkFlowService flowService = new WorkFlowService(); flowService.CreateWorkFlow(Guid.NewGuid().ToString(), "48f3889c-af8d-401f-ada2-c383031af92d", 10000); }
public WorkFlowProcessController(WorkFlowProcessService workFlowProcessService) { _workFlowProcessService = workFlowProcessService; _workFlowService = DependencyResolver.Current.GetService <WorkFlowService>(); }