public static BaseAction CreateBackStepAction(this TurnOnInverterAction a) { return(new TurnOffInverterAction() { Head = a.Head, Order = a.Order, RotationSpeed = a.RotationSpeed }); }
private BaseAction CreateBackStepAction(TurnOnInverterAction action) { return(new TurnOffInverterAction() { Head = action.Head, Order = action.Order, RotationSpeed = action.RotationSpeed }); }
public static void ExecuteAction(this TurnOnInverterAction a, int actionId = 0) { Messenger.Default.Send(new TurnOnInverterMessage() { Head = a.Head, Order = a.Order, Duration = a.Duration, RotationSpeed = a.RotationSpeed, BackNotifyId = actionId }); }
private string GetInverterName(TurnOnInverterAction action) { int invId = 0; if (action.Order == 0) { switch (action.Head) { case 1: case 2: case 12: case 21: invId = 2; break; default: throw new ArgumentException("Invalid head id!!!"); } } else if (action.Head == 1) { switch (action.Order) { case 1: invId = 1; break; case 2: invId = 3; break; default: throw new ArgumentException("Invalid order id!!!"); } } else { throw new InvalidOperationException("Invalid inverter id!!!"); } return($"S{invId}"); }
private void Execute(TurnOnInverterAction action, int notifyId) { InverterController.TurnOn(GetInverterName(action), action.RotationSpeed); NotifyExecuted(notifyId); }