func (order *Order) SetStatePosition(stateMachine *state.StateMachine, targetState string, position *Position) error { if stateMachine == nil { stateMachine = DefaultStateMachine } err := stateMachine.TransitionToState(position.GetState(), targetState) if err != nil { return err } return order.Upsert() }