A warning light is a symptom, not a diagnosis. The code tells you which circuit reported a problem. It does not tell you which part failed.
A misfire code names the cylinder. It does not name the coil, the injector, the plug, the compression or the wiring behind any of them. Replacing parts in the order the codes appear is guessing with your money.
Read the fault, reproduce the fault, then test each thing that could cause it until one of them fails a test. That is the part that takes time, and it is the part worth paying for.
The hardest faults are the ones that are not happening while the car is in the bay. Tell us what you were doing when it did happen. That narrows the search faster than any scanner.
If it has been hit and it also needs mechanical work, it does not need to go anywhere else.