Service

Para crear nuestros servicios creamos el paquete com.tutosoftware.manager.service
Creamos la interface UsuarioService
 
       
  package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import com.tutosoftware.manager.model.Usuario;

public interface UsuarioService {
	
	public Optional<Usuario> getUsuario(String email);
	public  void crearUsuario(Usuario usuario);
	public List<Usuario> listAll();
	public void actualizarUsuario(Usuario usuario);
	public void eliminarUsuario(String email);

}
		   
		   
	     
       

Creamos la clase UsuarioServiceImpl
 
          
package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.tutosoftware.manager.model.Usuario;
import com.tutosoftware.manager.repository.UsuarioRepository;

import jakarta.transaction.Transactional;

@Service
public class UsuarioServiceImpl implements UsuarioService{
	
	@Autowired
	private UsuarioRepository usuarioRepository;


	public Optional<Usuario> getUsuario(String email) {
		// TODO Auto-generated method stub
		return usuarioRepository.findById(email);
	}
	
	@Transactional
	public void crearUsuario(Usuario usuario) {
		usuarioRepository.save(usuario);
	}
	
	@Transactional
	public List<Usuario> listAll(){
		
		List<Usuario> usuarios = usuarioRepository.findAll();
		
		return usuarios;
		
		
	}
	
	@Transactional
	public void actualizarUsuario(Usuario usuario) {
		
		usuarioRepository.save(usuario);
	}
	
	@Transactional
	public void eliminarUsuario(String email) {
		
		usuarioRepository.deleteById(email);
	}
	

}

         
         
         
       

Creamos la interface ClienteService
 
             
        package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import com.tutosoftware.manager.model.Cliente;



public interface ClienteService {
	
	public Optional<Cliente> getCliente(Long id);
	public  void crearCliente(Cliente cliente);
	public List<Cliente> listAll();
	public void actualizarCliente(Cliente cliente);
	public void eliminarCliente(Long id);

}
              
            
         
       

Creamos su clase implementada ClienteServiceImpl
 
                  
        package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.tutosoftware.manager.model.Cliente;
import com.tutosoftware.manager.repository.ClienteRepository;

import jakarta.transaction.Transactional;

@Service
public class ClienteServiceImpl implements ClienteService {
	
	@Autowired
	private ClienteRepository clienteRepository;

	@Override
	public Optional<Cliente> getCliente(Long id) {
		// TODO Auto-generated method stub
		return clienteRepository.findById(id);
	}

	@Override
	@Transactional
	public void crearCliente(Cliente cliente) {
		// TODO Auto-generated method stub
		clienteRepository.save(cliente);

	}

	@Override
	@Transactional
	public List<Cliente> listAll() {
		// TODO Auto-generated method stub
		List<Cliente> clientes = clienteRepository.findAll();
		return clientes;
	}

	@Override
	@Transactional
	public void actualizarCliente(Cliente cliente) {
		// TODO Auto-generated method stub
		clienteRepository.save(cliente);   
	}

	@Override
	@Transactional
	public void eliminarCliente(Long id) {
		// TODO Auto-generated method stub
        clienteRepository.deleteById(id);
	}

}
    
            
          
       

Creamos la interface ProyectoService
 
                      
     package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import com.tutosoftware.manager.model.Proyecto;



public interface ProyectoService {
	
	
	public Optional<Proyecto> getProyecto(Long id);
	public  void crearProyecto(Proyecto proyecto);
	public List<Proyecto> listAll();
	public void actualizarProyecto(Proyecto proyecto);
	public void eliminarProyecto(Long id);

}

 
      
         
       

Creamos la clase ProyectoServiceImpl
 
           
     package com.tutosoftware.manager.service;

import java.util.List;
import java.util.Optional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.tutosoftware.manager.model.Proyecto;
import com.tutosoftware.manager.repository.ProyectoRepository;

import jakarta.transaction.Transactional;


@Service
public class ProyectoServiceImpl implements ProyectoService {
	
	@Autowired
	ProyectoRepository proyectoRepository;

	@Override
	public Optional<Proyecto> getProyecto(Long id) {
		// TODO Auto-generated method stub
		return proyectoRepository.findById(id);
	}

	@Override
	@Transactional
	public void crearProyecto(Proyecto proyecto) {
		// TODO Auto-generated method stub
		
		proyectoRepository.save(proyecto);
	}

	@Override
	@Transactional
	public List<Proyecto> listAll() {
		// TODO Auto-generated method stub
		List<Proyecto> proyectos = proyectoRepository.findAll();
		return proyectos;
	}

	@Override
	@Transactional
	public void actualizarProyecto(Proyecto proyecto) {
		// TODO Auto-generated method stub
		proyectoRepository.save(proyecto);

	}

	@Override
	@Transactional
	public void eliminarProyecto
	(Long id) {
		// TODO Auto-generated method stub
		proyectoRepository.deleteById(id);

	}

}
 
      
      
         
       

Creamos la interface AcividadService
 
        
    package com.tutosoftware.manager.service;
import java.util.List;

import com.tutosoftware.manager.model.Actividad;


public interface ActividadService {
	
	
	public  void crearActividad(Actividad actividad);
	public List<Actividad> listActividad(String email,int year,int mes);
	public List<Actividad> listActividadUserProyectoFecha(String email,String proyecto,int year,int mes);
	public void eliminarActividad(Long id);

}

    
        
       

Creamos la clase ActividadServiceImpl
 
            
  package com.tutosoftware.manager.service;


import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.tutosoftware.manager.model.Actividad;
import com.tutosoftware.manager.repository.ActividadRepository;

import jakarta.transaction.Transactional;

@Service
public class ActividadServiceImpl implements ActividadService {
	
	@Autowired
	ActividadRepository actividadRepository;

	@Override
	@Transactional
	public void crearActividad(Actividad actividad) {
		// TODO Auto-generated method stub
		
		actividadRepository.save(actividad);

	}

	@Override
	@Transactional
	public List<Actividad> listActividad(String email,int year, int mes) {
		// TODO Auto-generated method stub
		
		List<Actividad> actividades=actividadRepository.findByClienteAndFechaHoraInicioAndFechaHoraFinal(email,
				year,mes);
		return actividades;
	}

	@Override
	@Transactional
	public void eliminarActividad(Long id) {
		// TODO Auto-generated method stub
		
		actividadRepository.deleteById(id);

	}
	
	@Transactional
	public List<Actividad> listActividadUserProyectoFecha(String email,String proyecto,
			int year,int mes){
		List<Actividad> actividades=actividadRepository.findByActivdadUsiarioProyecyoFecha(email, 
				proyecto, year, mes);
		return actividades;
	}

}