package com.jasamedika.medifirst2000.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;

import com.jasamedika.medifirst2000.converter.PMAnamnesisUmumConverter;
import com.jasamedika.medifirst2000.dao.PMAnamnesisUmumDao;
import com.jasamedika.medifirst2000.entities.PMAnamnesisUmum;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.PMAnamnesisUmumService;
import com.jasamedika.medifirst2000.vo.PMAnamnesisUmumVO;

/**
 * @author Shakato
 */
@Service("pMAnamnesisUmumService")
public class PMAnamnesisUmumServiceImpl implements PMAnamnesisUmumService{

	@Autowired
	private PMAnamnesisUmumConverter pMAnamnesisUmumConverter;
	
	@Autowired
	private PMAnamnesisUmumDao pMAnamnesisUmumDao;
	
	@Override
	public PMAnamnesisUmumVO add(PMAnamnesisUmumVO vo) throws JpaSystemException, ServiceVOException {
		PMAnamnesisUmum result = pMAnamnesisUmumConverter.transferVOToModel(vo, new PMAnamnesisUmum());
		PMAnamnesisUmum resultModel=pMAnamnesisUmumDao.save(result);
		PMAnamnesisUmumVO resultVo=new PMAnamnesisUmumVO();
		resultVo=pMAnamnesisUmumConverter.transferModelToVO(resultModel, resultVo);
		return resultVo;
	}

	@Override
	public PMAnamnesisUmumVO update(PMAnamnesisUmumVO vo) throws JpaSystemException, ServiceVOException {
		PMAnamnesisUmum model=pMAnamnesisUmumDao.findOne(vo.getNoRec());
		PMAnamnesisUmum resultModel=pMAnamnesisUmumDao.save(model);
		PMAnamnesisUmumVO resultVo=new PMAnamnesisUmumVO();
		resultVo=pMAnamnesisUmumConverter.transferModelToVO(resultModel, resultVo);
		return resultVo;
	}

	@Override
	public Boolean delete(String key) throws JpaSystemException {
		return null;
	}

	@Override
	public PMAnamnesisUmumVO findById(String key) throws JpaSystemException {
		return null;
	}

	@Override
	public List<PMAnamnesisUmumVO> findAll() throws JpaSystemException {
		return null;
	}

	@Override
	public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
			String sort, String dir) {
		return null;
	}


}
