Service
Para crear nuestros servicios creamos el paquete com.tutosoftware.manager.serviceCreamos 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;
}
}