public static bool RunByName(TaskContext c, WorkflowNames name) { bool result = false; Workflow wf = Workflow.Load(name); result = wf.Run(c); return result; }
public static bool RunByName(OrderTaskContext c, WorkflowNames name) { var result = false; var wf = c.HccApp.WorkflowFactory.CreateWorkflow(name); result = wf.Run(c); return(result); }
public static bool RunByName(TaskContext c, WorkflowNames name) { bool result = false; Workflow wf = Workflow.Load(name); result = wf.Run(c); return(result); }
public string this[string propertyName] { get { string result = string.Empty; propertyName = propertyName ?? string.Empty; if (LoggingSettings.IsLoggingEnabled && RunPostWorkflow && propertyName == "PostWorkflowName") { if (!WorkflowNames.Contains(PostWorkflowName)) { result = "Invalid workflow selected"; } } Error = result; LoggingSettings.Error = result; return(result); } }
private void LoadWorkflows() { WorkflowNames.Clear(); var resources = GetResources(); foreach (var resource in resources) { if (LoggingSettings.Workflows.All(wf => wf.ResourceID != resource.ResourceID)) { resource.IsSelected = LogAll; LoggingSettings.Workflows.Add(resource); } WorkflowNames.Add(resource.ResourceName); } //Remove deleted workflows from settings foreach (var descriptor in LoggingSettings.Workflows.ToList()) { if (!WorkflowNames.Contains(descriptor.ResourceName)) { LoggingSettings.Workflows.Remove(descriptor); if (LoggingSettings.PostWorkflow.ResourceName == descriptor.ResourceName) { ClearPostWorkflow(); } } } if (LoggingSettings.RunPostWorkflow && LoggingSettings.PostWorkflow != null) { if (LoggingSettings.Workflows.All(wf => wf.ResourceName != LoggingSettings.PostWorkflow.ResourceName)) { ClearPostWorkflow(); } } UpdateSearchFilter(SearchText); }
public virtual Workflow CreateWorkflow(WorkflowNames name) { Task[] tasks = null; switch (name) { case WorkflowNames.VerifyOrderSize: tasks = LoadVerifyOrderSizeTasks(); break; case WorkflowNames.DropShip: tasks = LoadDropShipTasks(); break; case WorkflowNames.OrderEdited: tasks = LoadOrderEditedTasks(); break; case WorkflowNames.OrderStatusChanged: tasks = LoadOrderStatusChangedTasks(); break; case WorkflowNames.PackageShipped: tasks = LoadPackageShippedTasks(); break; case WorkflowNames.PaymentChanged: tasks = LoadPaymentChangedTasks(); break; case WorkflowNames.PaymentComplete: tasks = LoadPaymentCompleteTasks(); break; case WorkflowNames.ProcessNewOrder: tasks = LoadProcessNewOrderTasks(); break; case WorkflowNames.ProcessNewOrderPayments: tasks = LoadProcessNewOrderPaymentsTasks(); break; case WorkflowNames.ProcessNewOrderAfterPayments: // After Payments, notify customer, etc. tasks = LoadProcessNewOrderAfterPaymentsTasks(); break; case WorkflowNames.ShippingChanged: tasks = LoadShippingChangedTasks(); break; case WorkflowNames.ShippingComplete: tasks = LoadShippingCompleteTasks(); break; case WorkflowNames.ThirdPartyCheckoutSelected: tasks = LoadThirdPartyCheckoutSelectedTasks(); break; case WorkflowNames.ProcessNewReturn: // TODO: Fill in return tasks here break; } return(new Workflow(tasks)); }
public static BusinessRules.Workflow Load(WorkflowNames name) { Workflow wf = new Workflow(); switch (name) { case WorkflowNames.CheckoutSelected: wf._Tasks.Add(new OrderTasks.ApplyMinimumOrderAmount()); wf._Tasks.Add(new OrderTasks.CheckForOrderMaximums()); break; case WorkflowNames.DropShip: wf._Tasks.Add(new OrderTasks.RunAllDropShipWorkflows()); break; case WorkflowNames.OrderEdited: break; case WorkflowNames.PackageShipped: break; case WorkflowNames.PaymentChanged: wf._Tasks.Add(new OrderTasks.RunWorkFlowIfPaid()); wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.ChangeOrderStatusWhenPaymentRemoved()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.PaymentComplete: wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.IssueGiftCertificates()); wf._Tasks.Add(new OrderTasks.IssueRewardsPoints()); wf._Tasks.Add(new OrderTasks.RunAllDropShipWorkflows()); break; case WorkflowNames.ProcessNewOrder: // Change in 6.0.50.117 // // Instead of receiving payments here, call in separate process. // End this workflow by making order placed wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Process Order Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.CheckForZeroDollarOrders()); wf._Tasks.Add(new OrderTasks.CreateUserAccountForNewCustomer()); wf._Tasks.Add(new OrderTasks.AssignOrderToUser()); wf._Tasks.Add(new OrderTasks.AssignOrderNumber()); wf._Tasks.Add(new OrderTasks.MakeOrderAddressUsersCurrentAddress()); wf._Tasks.Add(new OrderTasks.UpdateLineItemsForSave()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.MakePlacedOrder()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Process Order Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ProcessNewOrderPayments: // Receive Payments and throw error if needed //wf._Tasks.Add(new OrderTasks.DebitGiftCertificates()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Process Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.ReceivePaypalExpressPayments()); wf._Tasks.Add(new OrderTasks.ReceiveCreditCards()); wf._Tasks.Add(new OrderTasks.ReceiveRewardsPoints()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Process Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ProcessNewOrderAfterPayments: // After Payments, notify customer, etc. wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Order After Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.LocalFraudCheck()); wf._Tasks.Add(new OrderTasks.RunWorkFlowIfPaid()); wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.EmailOrder("Customer")); wf._Tasks.Add(new OrderTasks.EmailOrder("Admin")); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Order After Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ShippingChanged: wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.ChangeOrderStatusWhenShipmentRemoved()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.RunShippingCompleteWorkFlow()); break; case WorkflowNames.ShippingComplete: wf._Tasks.Add(new OrderTasks.EmailShippingInfo()); break; case WorkflowNames.ThirdPartyCheckoutSelected: wf._Tasks.Add(new OrderTasks.StartPaypalExpressCheckout()); break; } return wf; }
public static BusinessRules.Workflow Load(WorkflowNames name) { Workflow wf = new Workflow(); switch (name) { case WorkflowNames.CheckoutSelected: wf._Tasks.Add(new OrderTasks.ApplyMinimumOrderAmount()); wf._Tasks.Add(new OrderTasks.CheckForOrderMaximums()); break; case WorkflowNames.DropShip: wf._Tasks.Add(new OrderTasks.RunAllDropShipWorkflows()); break; case WorkflowNames.OrderEdited: break; case WorkflowNames.PackageShipped: break; case WorkflowNames.PaymentChanged: wf._Tasks.Add(new OrderTasks.RunWorkFlowIfPaid()); wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.ChangeOrderStatusWhenPaymentRemoved()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.PaymentComplete: wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.IssueGiftCertificates()); wf._Tasks.Add(new OrderTasks.IssueRewardsPoints()); wf._Tasks.Add(new OrderTasks.RunAllDropShipWorkflows()); break; case WorkflowNames.ProcessNewOrder: // Change in 6.0.50.117 // // Instead of receiving payments here, call in separate process. // End this workflow by making order placed wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Process Order Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.CheckForZeroDollarOrders()); wf._Tasks.Add(new OrderTasks.CreateUserAccountForNewCustomer()); wf._Tasks.Add(new OrderTasks.AssignOrderToUser()); wf._Tasks.Add(new OrderTasks.AssignOrderNumber()); wf._Tasks.Add(new OrderTasks.MakeOrderAddressUsersCurrentAddress()); wf._Tasks.Add(new OrderTasks.UpdateLineItemsForSave()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.MakePlacedOrder()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Process Order Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ProcessNewOrderPayments: // Receive Payments and throw error if needed //wf._Tasks.Add(new OrderTasks.DebitGiftCertificates()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Process Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.ReceivePaypalExpressPayments()); wf._Tasks.Add(new OrderTasks.ReceiveCreditCards()); wf._Tasks.Add(new OrderTasks.ReceiveRewardsPoints()); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Process Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ProcessNewOrderAfterPayments: // After Payments, notify customer, etc. wf._Tasks.Add(new OrderTasks.WorkflowNote("Starting Order After Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.LocalFraudCheck()); wf._Tasks.Add(new OrderTasks.RunWorkFlowIfPaid()); wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.EmailOrder("Customer")); wf._Tasks.Add(new OrderTasks.EmailOrder("Admin")); wf._Tasks.Add(new OrderTasks.WorkflowNote("Finished Order After Payment Workflow")); wf._Tasks.Add(new OrderTasks.UpdateOrder()); break; case WorkflowNames.ShippingChanged: wf._Tasks.Add(new OrderTasks.MarkCompletedWhenShippedAndPaid()); wf._Tasks.Add(new OrderTasks.ChangeOrderStatusWhenShipmentRemoved()); wf._Tasks.Add(new OrderTasks.UpdateOrder()); wf._Tasks.Add(new OrderTasks.RunShippingCompleteWorkFlow()); break; case WorkflowNames.ShippingComplete: wf._Tasks.Add(new OrderTasks.EmailShippingInfo()); break; case WorkflowNames.ThirdPartyCheckoutSelected: wf._Tasks.Add(new OrderTasks.StartPaypalExpressCheckout()); break; } return(wf); }