You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							58 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							58 lines
						
					
					
						
							1.0 KiB
						
					
					
				<?php | 
						|
 | 
						|
namespace core\services; | 
						|
 | 
						|
use core\entities\Slider; | 
						|
use core\forms\SliderForm; | 
						|
use core\repositories\slider\SliderRepository; | 
						|
 | 
						|
class SliderService | 
						|
{ | 
						|
    private $sliders; | 
						|
 | 
						|
    public function __construct(SliderRepository $sliders) | 
						|
    { | 
						|
        $this->sliders = $sliders; | 
						|
    } | 
						|
 | 
						|
    public function create(SliderForm $form): Slider | 
						|
    { | 
						|
	    $slider = Slider::create( | 
						|
		    $form->title, | 
						|
		    $form->tagline, | 
						|
		    $form->url, | 
						|
		    $form->sort | 
						|
	    ); | 
						|
 | 
						|
	    if ($form->image) { | 
						|
		    $slider->setImage($form->image); | 
						|
	    } | 
						|
 | 
						|
	    $this->sliders->save($slider); | 
						|
	    return $slider; | 
						|
    } | 
						|
 | 
						|
    public function edit($id, SliderForm $form): void | 
						|
    { | 
						|
	    $slider = $this->sliders->get($id); | 
						|
 | 
						|
	    $slider->edit( | 
						|
		    $form->title, | 
						|
		    $form->tagline, | 
						|
		    $form->url, | 
						|
		    $form->sort | 
						|
	    ); | 
						|
 | 
						|
	    if ($form->image) { | 
						|
		    $slider->setImage($form->image); | 
						|
	    } | 
						|
 | 
						|
	    $this->sliders->save($slider); | 
						|
    } | 
						|
 | 
						|
	public function remove($id): void | 
						|
	{ | 
						|
		$tag = $this->sliders->get($id); | 
						|
		$this->sliders->remove($tag); | 
						|
	} | 
						|
} |