...
switch (tour.status, command.status)
{
case (TourStatus.Erstellt, TourStatus.Erstellt):
case (TourStatus.FertigGeplant, TourStatus.FertigGeplant):
case (TourStatus.Verladen, TourStatus.Verladen):
tour.SetFahrzeugOrFahrzeugName(newFahrzeug, command.fahrzeugName);
tour.SetFahrerOrFahrerName(newFahrer, "");
break;
case (TourStatus.Erstellt, TourStatus.FertigGeplant):
tour.SetFahrzeugOrFahrzeugName(newFahrzeug, command.fahrzeugName);
tour.SetFahrerOrFahrerName(newFahrer, "");
tour.SetFertigGeplant();
break;
case (TourStatus.FertigGeplant, TourStatus.Erstellt):
tour.SetErstellt();
tour.SetFahrzeugOrFahrzeugName(newFahrzeug, command.fahrzeugName);
tour.SetFahrerOrFahrerName(newFahrer, "");
break;
case (TourStatus.Verladen, _):
throw new HttpResponseException("Tourstatus ändern", "Die Tour wurde bereits verladen.");
case (_ ,TourStatus.Verladen):
throw new HttpResponseException("Tourstatus ändern", "Die Tour kann nicht als verladen markiert werden.");
}
...