private List <CarritoData> GenerarCarrito() { List <CarritoData> ListaCarrito = new List <CarritoData>(); string[] CarritoLineas = File.ReadAllLines("userdata/carrito.dat"); foreach (var linea in CarritoLineas) { string[] LineasDivid = linea.Split(','); CarritoData cd = new CarritoData(); cd.IdProducto = Convert.ToInt32(u.DecodearString(LineasDivid[0])); cd.NombreProducto = u.DecodearString(LineasDivid[1]); cd.IdUsuario = Convert.ToInt32(u.DecodearString(LineasDivid[2])); int.TryParse(u.DecodearString(LineasDivid[3]), out int PrecioProd); cd.PrecioProducto = PrecioProd; int.TryParse(u.DecodearString(LineasDivid[4]), out int CantidadProd); cd.CantidadProducto = CantidadProd; int CalculoA = PrecioProd * CantidadProd; cd.SubtotalProducto = CalculoA; int STProductoIVa = Convert.ToInt32(CalculoA + CalculoA * 0.19); cd.SubtotalProductoIVA = STProductoIVa; cd.UnidadProducto = u.DecodearString(LineasDivid[5]); ListaCarrito.Add(cd); } return(ListaCarrito); }
private void btnCarritoAdd_Click(object sender, RoutedEventArgs e) { var ubiboton = (sender as Button).DataContext; int indiceboton = ListaProductoR.Items.IndexOf(ubiboton); var valuex = ListaProductoR.Items[indiceboton] as ProductoData; var cantidadvalida = valuex.CantidadProducto; //System.Windows.MessageBox.Show(valuex.CantidadProducto.ToString()); if (cantidadvalida == 0) { System.Windows.MessageBox.Show("Seleccione mínimo 1 o más unidades"); } else { string stlines = File.ReadAllLines("userdata/user.dat").First(); var StringIDUsuario = u.DecodearString(stlines.Split(',')[2]); CarritoData cd = new CarritoData(); cd.IdProducto = valuex.Id; cd.NombreProducto = valuex.NombreProducto; cd.CantidadProducto = valuex.CantidadProducto; cd.PrecioProducto = valuex.PrecioProducto; cd.IdUsuario = Convert.ToInt32(StringIDUsuario); cd.UnidadProducto = valuex.UnidadProducto; NuevoCarrito = RevisarLista(cd, NuevoCarrito); System.Windows.MessageBox.Show("Añadido al carrito"); } }
//public void busca() //{ // foreach (sh) //} private List <CarritoData> RevisarLista(CarritoData cd, List <CarritoData> Listas) { bool EsEncontrado = false; List <CarritoData> NuevaLista = new List <CarritoData>(); if (Listas.Count == 0) { Listas.Add(cd); return(Listas); } else { foreach (var item in Listas) { if (cd.IdProducto == item.IdProducto) { item.CantidadProducto += cd.CantidadProducto; EsEncontrado = true; if (EsEncontrado) { break; } } } if (!EsEncontrado) { NuevaLista.Add(cd); Listas = Listas.Concat(NuevaLista).ToList(); return(Listas); } } return(Listas); }