| 12345678910111213141516171819202122232425262728 | 
							- <?php
 - 
 - namespace App\Factories;
 - 
 - use App\DTO\ReportDatesDTO;
 - use App\Models\Company;
 - use Illuminate\Support\Carbon;
 - 
 - class ReportDateFactory
 - {
 -     public static function create(Company $company): ReportDatesDTO
 -     {
 -         $fiscalYearStartDate = Carbon::parse($company->locale->fiscalYearStartDate())->startOfDay();
 -         $fiscalYearEndDate = Carbon::parse($company->locale->fiscalYearEndDate())->endOfDay();
 -         $defaultDateRange = 'FY-' . now()->year;
 -         $defaultStartDate = $fiscalYearStartDate->startOfDay();
 -         $defaultEndDate = $fiscalYearEndDate->isFuture() ? now()->endOfDay() : $fiscalYearEndDate->endOfDay();
 - 
 -         // Return a new DTO with the calculated values
 -         return new ReportDatesDTO(
 -             $fiscalYearStartDate,
 -             $fiscalYearEndDate,
 -             $defaultDateRange,
 -             $defaultStartDate,
 -             $defaultEndDate
 -         );
 -     }
 - }
 
 
  |