Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/courses-module / Services / SlideService.php
Size: Mime:
<?php
/**
 * Created by PhpStorm.
 * User: danilo
 * Date: 21/12/15
 * Time: 12:49
 */

namespace Modules\Courses\Services;

use Modules\Courses\Contracts\Repositories\SlideRepository;

class SlideService
{

    /**
     * @var SlideRepository
     */
    protected $repository;

    /**
     * Medico constructor.
     * @param SlideRepository $repository
     */
    public function __construct(SlideRepository $repository)
    {
        $this->repository = $repository;
    }

    /**
     * @param $id int
     * @param $data array
     * @return mixed
     */
    public function create(array $data)
    {
        try {
            return $this->repository->create($data);
        }
        catch (\Exception $e) {
            return false;
        }
    }

    /**
     * @param $id int
     * @param $data array
     * @return mixed
     */
    public function update($id, array $data)
    {
        try {
            $model = $this->repository->find($id);
            $model->fill($data)->save();

            return $model;
        }
        catch (\Exception $e) {
            return false;
        }
    }

    /**
     * @param $id int
     * @return \Modules\Courses\Entities\Slide
     */
    public function showById($id)
    {
        return $this->repository->find($id);
    }

    /**
     * @param $id int
     * @return \Modules\Courses\Entities\Slide
     */
    public function editId($id)
    {
        return $this->showById($id);
    }

    /**
     * @param $course int
     * @return \Modules\Courses\Entities\Slide[]
     */
    public function findByCourseId($course)
    {
        return $this->repository->findByField('course_id', $course);
    }

    /**
     * @param $id int
     * @return bool
     */
    public function delete($id)
    {
        return $this->repository->delete($id);
    }

    /**
     * @return int
     */
    public function countActive()
    {
        return $this->repository->count(['is_active' => 0]);
    }
}