package Control;
import DAO.CiudadDAO;
import DAO.Registro_invDAO;
import DAO.UsuarioDAO;
import Entity.Equipomasfull;
import Entity.Canjes;
import Entity.Ciudad;
import Entity.Registro_Inv;
import Entity.Usuario;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* <p style="margin-top: 0">
* Clase que controla las operaciones más importantes en el canjeo de
* puntos por los premios deseados del usuario.
* </p>
*/
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.408CEE8E-A216-EBAD-3D67-2C6D50EFF8DD]
// </editor-fold>
public class CanjearPuntos {
private Equipomasfull sistema = Login.sistema;
UsuarioDAO userdao =Login.usuariodao;
Registro_invDAO regdao=Login.regdao;
CiudadDAO citydao=Login.ciudaddao;
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.70CC9F43-6B68-B584-4136-C5E5D7DD5EC6]
// </editor-fold>
public CanjearPuntos() {
}
public String hacercanje(Canjes canjeactual,Usuario UsuarioPrueba, int can,
CanjearPuntos canjepuntos, int a, Usuario user, String b, String estacion, String ciudad, String premio, int c, int y) {
boolean estado1 = canjepuntos.canjearpuntos(y,ciudad, can, b, UsuarioPrueba, a);
if (estado1) {
Ciudad Provisional= citydao.leer(ciudad);
Registro_Inv registro=new Registro_Inv();
List <Canjes> listacanjes=UsuarioPrueba.getCanjes();
Date fechaActual2 = new Date();
SimpleDateFormat formato2 = new SimpleDateFormat("yyyy" + "-" +
"MM" + "-" + "dd");
String cadenaFecha2 = formato2.format(fechaActual2);
canjeactual.setBomba(estacion);
canjeactual.setCiudad(ciudad);
canjeactual.setFecha(cadenaFecha2);
canjeactual.setPremio(premio);
canjeactual.setCantidad(can);
listacanjes.add(canjeactual);
UsuarioPrueba.setCanjes(listacanjes);
userdao.actualizar(UsuarioPrueba);
System.out.print(estacion + " " + ciudad + " " + premio + " " + cadenaFecha2);
registro.setOperacion("Canje de puntos");
registro.setNombreuser(sistema.getAdministrador());
registro.setNombreciudad(ciudad);
registro.setNombreestacion(estacion);
registro.setFecha(cadenaFecha2);
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(1).getNombre())) {
registro.setBonocombustible(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(2).getNombre())) {
registro.setBonoconsumo50mil(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(0).getNombre())) {
registro.setCperro(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(4).getNombre())) {
registro.setDesc4llantas(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(3).getNombre())) {
registro.setDesAceite(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(9).getNombre())) {
registro.setLavadaBuseta(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(7).getNombre())) {
registro.setLavadacarro(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(6).getNombre())) {
registro.setLavadomoto(can);
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(5).getNombre())) {
registro.setReacargacel(can);
}
registro.setOperacion("Canje");
regdao.crear(registro);
return ("La accion se ha realizado satisfactoriamente");
} else {
return ("Puntos Insuficientes");
}
}
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.39207280-ABE7-6750-8DA7-359E0681F0E0]
// </editor-fold> estacion ciudad, can, b, user, a
public boolean canjearpuntos(int estacion, String ciudad, int can, String b, Usuario user, int a) {
//c,y,can,b,user,a
Ciudad Provisional= citydao.leer(ciudad);
int pun;
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(1).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(1).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(1).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(1).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(2).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(2).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos()-(can*pun));
Provisional.getEstaciones().get(estacion).getPremios().get(2).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(2).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(0).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(0).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(0).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(0).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(4).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(4).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(4).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(4).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(3).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(3).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(3).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(3).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(9).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(9).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(9).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(9).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(8).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(8).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(8).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(8).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(7).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(7).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(7).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(7).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(6).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(6).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(6).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(6).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
if (b.equals(Provisional.getEstaciones().get(estacion).getPremios().get(5).getNombre())) {
pun = Provisional.getEstaciones().get(estacion).getPremios().get(5).getPuntos();
if (user.getPuntos() >= (can * pun)) {
user.setPuntos(user.getPuntos() - (can * pun));
Provisional.getEstaciones().get(estacion).getPremios().get(5).setCantidad(
Provisional.getEstaciones().get(estacion).getPremios().get(5).getCantidad()-can);
citydao.actualizar(Provisional);
return true;
} else {
return false;
}
}
return false;
}
public Usuario Usuarioexiste (long identificacion,int a) {
if (a==0){
return userdao.leer(0, identificacion);
}else{
return userdao.leer(identificacion,0);
}}
public String id(Usuario u) {
if (u.getIdentificacion() == 0) {
return "El usuario no existe";
} else {
return "";
}
}
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.8B558A28-0057-DD1A-D95B-A8448A559DE1]
// </editor-fold>
public String premiosDispd(int x, int y, int can, String b,String ciudad) {
Ciudad Provisional= citydao.leer(ciudad);
if (Provisional==null){
return "Ciudad no valida";
}
if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(1).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(1).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(2).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(2).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(0).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(0).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(4).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(4).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(3).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(3).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(5).getNombre())) {
if (Provisional.getEstaciones().get(y).getPremios().get(5).getCantidad() >= can) {
return "Continue";
} else {
return "La cantidad ingresada no esta disponible";
}
} else if (b.equals(Provisional.getEstaciones().get(y).getPremios().get(9).getNombre()) || b.equals(Provisional.getEstaciones().get(y).getPremios().get(8).getNombre()) || b.equals(Provisional.getEstaciones().get(y).getPremios().get(7).getNombre()) || b.equals(Provisional.getEstaciones().get(y).getPremios().get(6).getNombre())) {
return "Continue";
}
return "La cantidad ingresada no esta disponible";
}
}