package cn.efunbox.audio.impl;

import cn.efunbox.audio.entity.Admin;
import cn.efunbox.audio.entity.Channel;
import cn.efunbox.audio.entity.Device;
import cn.efunbox.audio.repository.AdminRepo;
import cn.efunbox.audio.repository.ChannelRepo;
import cn.efunbox.audio.service.AdminService;
import cn.efunbox.audio.service.ChannelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by yao on 17-9-26.
 */
@Service
public class AdminServiceImpl implements AdminService {

    @Autowired
    AdminRepo adminRepo;

    @Override
    public Admin GetOne(Long id){
        Admin admin = adminRepo.findOne(id);
        return admin;
    }

    @Override
    public Page<Admin> SearchAll(int page, int size){
        Pageable pageable = new PageRequest(page, size);
        Page<Admin> list = adminRepo.findAll(pageable);
        return list;
    }

    @Override
    public List<Admin> SearchById(Long id){
        List<Admin> list = adminRepo.findById(id);
        return list;
    }

    @Override
    public List<Admin> SearchByName(String name){
        if(name==null || name.isEmpty())
            return null;
        List<Admin> list = adminRepo.findByName(name);
        return list;
    }

    @Override
    public Admin Insert(Admin admin){
        Admin a = adminRepo.save(admin);
        return a;
    }

    @Override
    public Admin Update(Admin admin){
        Admin a = adminRepo.save(admin);
        return a;
    }

    @Override
    public void Delete(Long id){
        adminRepo.delete(id);
    }

}