-
Notifications
You must be signed in to change notification settings - Fork 0
/
Carrito.java
102 lines (92 loc) · 2.66 KB
/
Carrito.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
package carritodecompras;
import java.util.ArrayList;
import javax.swing.JOptionPane;
/**
*
* @author Manny
*/
public class Carrito {
static int Gen_id=0;
private int ID;
private Cliente cliente;
private ArrayList <Item> Articulos = new ArrayList();
public Carrito() {
ID=Gen_id++; // Incremental
}
public void asignarCliente(Cliente c){
cliente=c;
}
public void agregar(Producto P, int cantidad){
Item I;
P.set_stock(P.get_stock()-cantidad); // Se estan apartando
//buscar si el producto esta ya en el carro
for(int i=0;i<Articulos.size();i++)
{ I=Articulos.get(i);
if(I.get_prod().equals( P ))
{
I.set_can(I.get_can()+cantidad);
return;
}
}
// De lo contrario se crea el Item y se hace las conexiones
I=new Item(P,cantidad);
I.AsignarCarro( this );
Articulos.add(I);
}
public String checkout (){
if(!Articulos.isEmpty()){
// Generar el ticket
String ticket="";
float Total=0.0f,precio,Sub;
int Uni;
for (Item I : Articulos){
Uni=I.get_can();
precio=I.get_prod().get_prec();
Sub=precio*Uni;
ticket+=I.get_prod().get_nom()+" Unidades: "+ Uni +" precio unitario: "+ precio + " Subtotal: " + Sub + "\n";
Total+=Sub;
}
ticket+="Total = "+ Total;
// Generar el pedido y agregarlo al Cliente
new Pedido(this);
// Vaciar el carrito
Articulos=new ArrayList();
return ticket;
}
return "Carro Vacio";
}
public int get_ID() {
return ID;
}
public ArrayList<Item> getArticulos() {
return Articulos;
}
public Cliente getCliente() {
return cliente;
}
public int get_cant(){
int a=0;
for(Item I : Articulos){
a += I.get_can();
}
return a;
}
public int get_tam(){
return Articulos.size();
}
public Item get_art(int opc){
return Articulos.get(opc);
}
public void quitar(int opc){
// Regresar los productos apartados al momento de quitarlo del carro
Producto P= Articulos.get(opc).get_prod();
int NumPro = Articulos.get(opc).get_can();
int cant=P.get_stock();
P.set_stock(cant+NumPro);
Articulos.remove(opc);
}
public void vaciar(){
for(int i=0;i<Articulos.size();i++)
quitar(i);
}
}