Как еще можно отрефакторить данный метод?
1. Насколько понимаю у Вас логика (ну либо какая-то ее часть) находиться в контроллере. Это не правильно с точки зрения MVC, контроллер не место для логики.
2. Сейчас у Вас в контроллере каша из кода, которая очень трудно читается и воспринимается. Поэтому рекомендую почитать например
https://refactoring.guru/ru для понимая основных проблем кода и способов их решения