protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { if (base.ReturnFormStatus == ReturnFormStatus.Complete) { //Need change ExchangeOrder from AvaitingCompletition to InProgress var exchangeOrder = ReturnExchangeManager.GetExchangeOrderForReturnForm(base.ReturnOrderForm); if (exchangeOrder != null && OrderStatusManager.GetOrderGroupStatus(exchangeOrder) == OrderStatus.AwaitingExchange) { OrderStatusManager.ProcessOrder(exchangeOrder); exchangeOrder.AcceptChanges(); } } // Retun the closed status indicating that this activity is complete. return(ActivityExecutionStatus.Closed); }
public void CreateExchangePayments() { var origPurchaseOrder = ReturnOrderForm.Parent as PurchaseOrder; var origOrderForm = origPurchaseOrder.OrderForms[0]; var exchangeOrder = ReturnExchangeManager.GetExchangeOrderForReturnForm(ReturnOrderForm); if (exchangeOrder != null) { var exchangeOrderForm = exchangeOrder.OrderForms[0]; //Exchange payments //Credit exchange payment to original order decimal paymentTotal = Math.Min(ReturnOrderForm.Total, exchangeOrder.Total); ExchangePayment creditExchangePayment = CreateExchangePayment(TransactionType.Credit, paymentTotal); origOrderForm.Payments.Add(creditExchangePayment); //Debit exchange payment to exchange order ExchangePayment debitExchangePayment = CreateExchangePayment(TransactionType.Capture, paymentTotal); exchangeOrderForm.Payments.Add(debitExchangePayment); OrderStatusManager.RecalculatePurchaseOrder(exchangeOrder); exchangeOrder.AcceptChanges(); } }
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { try { if (base.ReturnFormStatus == ReturnFormStatus.Complete) { //Need change ExchangeOrder from AvaitingCompletition to InProgress var exchangeOrder = ReturnExchangeManager.GetExchangeOrderForReturnForm(base.ReturnOrderForm); if (exchangeOrder != null && OrderStatusManager.GetOrderGroupStatus(exchangeOrder) == OrderStatus.AwaitingExchange) { OrderStatusManager.ProcessOrder(exchangeOrder); exchangeOrder.AcceptChanges(); } } // Retun the closed status indicating that this activity is complete. return(ActivityExecutionStatus.Closed); } catch (Exception ex) { Logger.Error(GetType().Name + ": " + ex.Message, ex); // An unhandled exception occured. Throw it back to the WorkflowRuntime. throw; } }