/// <summary> /// Obtendremos un carrito en base al usuario actual para traer todos los productos que ha escogido /// </summary> /// <param name="id"></param> /// <returns></returns> public List <Carritos> getOne(int id) { ConexionMySQL con = null; try { List <Carritos> lista = new List <Carritos>(); con = new ConexionMySQL(); DataSet dat = con.LLenaComboGrid("select c.idUsuario,dp.idproducto,c.NombreProd,c.FechaCompra,dp.precio," + "dp.cantidad, dp.precio*Cantidad as total " + "from carrito c join detalleproducto dp on c.idcarrito=dp.idcarrito" + " where idusuario=" + id + " group by idproducto;"); DataTable dt = dat.Tables[0]; Carritos datos; foreach (DataRow r in dt.Rows) { datos = new Carritos(); datos.idUsuario = (int)r.ItemArray[0]; datos.idProducto = (int)r.ItemArray[1]; datos.NombreProducto = (String)r.ItemArray[2]; datos.FechaCompra = (DateTime)r.ItemArray[3]; datos.Precio = (decimal)r.ItemArray[4]; datos.cantidad = (int)r.ItemArray[5]; datos.Total = (decimal)r.ItemArray[6]; lista.Add(datos); } return(lista); } catch (Exception ex) { throw new Exception("No se pudo traer el carrito"); } }
/// <summary> /// Utilizaremos el metodo agregar para cada vez que el usuario agregue un producto al carrito desde la /// pagina principal /// </summary> /// <param name="m"></param> /// <returns></returns> public int agregar(Carritos m) { MySqlConnection conexion = null; int afectados = 0; try { conexion = new MySqlConnection(new ConexionMySQL().GetConnectionString()); conexion.Open(); String consulta = "INSERT INTO carrito " + "VALUES (default,@idUsuario,@Nombreproducto,now())"; MySqlCommand comando = new MySqlCommand(); comando.Connection = conexion; comando.CommandText = consulta; comando.CommandType = System.Data.CommandType.Text; comando.Parameters.AddWithValue("@idUsuario", m.idUsuario); comando.Parameters.AddWithValue("@Nombreproducto", m.NombreProducto); afectados = comando.ExecuteNonQuery(); return(afectados); } catch (Exception ex) { throw new Exception("No se pudo registrar el producto en carrito"); return(0); } finally { if (afectados != 0) { conexion.Close(); } } }
public JsonResult Traer() { Carritos carrito = null; if (Session["carrito"] == null) { carrito = new Carritos(); } else { carrito = (Carritos)Session["carrito"]; } int cantidad = carrito.Contar(); int total = carrito.Totalizar(); return(Json( new { total, cantidad, elementos = carrito.Elementos.Select(x => new { x.id_producto, x.nombre_producto, x.precio, x.Cantidad, x.SubTotal }) }, JsonRequestBehavior.AllowGet)); }
private void grvPrincipal_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (tipo == "Administrador") { if (e.ColumnIndex == 5) { int idprod = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value); new Editar(idprod).Show(); this.Hide(); } if (e.ColumnIndex == 6) { new DAOProducto().delete((int)grvPrincipal.Rows[e.RowIndex].Cells[0].Value); actualizarTabla(); } } else if (tipo == "Cliente") { if (e.ColumnIndex == 5) { int idpro = int.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[0].Value); String nom = "" + grvPrincipal.Rows[e.RowIndex].Cells[1].Value; Decimal precio = Decimal.Parse("" + grvPrincipal.Rows[e.RowIndex].Cells[2].Value); Carritos car = new Carritos(idusuario, idusuario, nom); DetalleProducto det = new DetalleProducto(idpro, precio, 1); new DAOCarrito().agregar(car); new DaoDetalleProducto().agregar(det, nom, idusuario); } } }
public JsonResult Editar(int id, byte cantidad) { Carritos miCarrito = null; if (Session["carrito"] == null) { miCarrito = new Carritos(); } else { miCarrito = (Carritos)Session["carrito"]; } miCarrito.Editar(id, cantidad); return(Json(new { Mensaje = "Modificado con exito", Estado = true }, JsonRequestBehavior.AllowGet)); }
public JsonResult Editar(int id, sbyte Cantidad) { Carritos carrito = null; if (Session["carrito"] == null) { carrito = new Carritos(); } else { carrito = (Carritos)Session["carrito"]; } carrito.Editar(id, Cantidad); return(Json(new { Mensaje = "editado con exito", Estado = true })); }
public JsonResult Eliminar(int id_producto) { Carritos carrito = null; if (Session["carrito"] == null) { carrito = new Carritos(); } else { carrito = (Carritos)Session["carrito"]; } carrito.Eliminar(id_producto); return(Json(new { Mensaje = "Elemento eliminado", Estado = true }, JsonRequestBehavior.AllowGet)); }
public JsonResult Eliminar(int id) { Carritos miCarrito = null; if (Session["carrito"] == null) { miCarrito = new Carritos(); } else { miCarrito = (Carritos)Session["carrito"]; } miCarrito.Eliminar(id); return(Json(new { Mensaje = "Eliminado con exito", Estado = true }, JsonRequestBehavior.AllowGet)); }
public ActionResult Pagar() { UsuariosViewModel usu = null; Carritos miCarrito = null; if (Session["Usuario"] != null) { //Ciclo Pago usu = (UsuariosViewModel)Session["usuario"]; miCarrito = (Carritos)Session["carrito"]; if (miCarrito.Totalizar > 0) { //Procedemos a Pago Ventas venta = new Ventas(); venta.idUsuario = usu.Id; venta.total = (short)miCarrito.Totalizar; venta.fecha = DateTime.Now; //Detalles esta venta venta.DetalleVentas = new List <DetalleVentas>(); foreach (var det in miCarrito.Traer) { venta.DetalleVentas.Add(new DetalleVentas() { idProducto = det.id, cantidad = det.Cantidad, subTotal = (short)det.SubTotal }); } //Aplicar API para Medio de pago ejemplo paypal venta.idMetodoPago = 5; db.Ventas.Add(venta); db.SaveChanges(); } else { //estafa o vacio ViewBag.Mensaje = "No se puede procesar el pago en estos momentos"; return(View()); } } return(View("/Carrito/Pagando")); }
protected List <Carritos> traer(int id) { decimal total = 0; List <Carritos> lista = new DAOCarrito().getOne(id); Carritos[] list = new Carritos[lista.Count]; Carritos inf; for (int i = 0; i < lista.Count; i++) { inf = new Carritos(); total += lista[i].Total; } lblTot.Text = "" + total; return(lista); }
public JsonResult Agregar(Productos productos) { productos = db.Productos.Find(productos.id_producto); Carritos carrito = null; if (Session["carrito"] == null) { carrito = new Carritos(); } else { carrito = (Carritos)Session["carrito"]; } carrito.Agregar(productos); Session["carrito"] = carrito; int total = carrito.Totalizar(); return(Json(carrito.Elementos.Select(x => new { x.nombre_producto, x.precio, x.Cantidad, x.SubTotal, total }), JsonRequestBehavior.AllowGet)); }
public JsonResult Agregar(Productos pro) { byte cantidad = pro.Cantidad; pro = db.Productos.Find(pro.id); pro.Cantidad = cantidad; Carritos miCarrito = null; if (Session["carrito"] == null) { miCarrito = new Carritos(); } else { miCarrito = (Carritos)Session["carrito"]; } miCarrito.Agregar(pro); Session["carrito"] = miCarrito; return(Json(new { Mensaje = "Agregado con exito", Estado = true })); }
public ActionResult Pagar() { UsuariosViewModel usu = (UsuariosViewModel)Session["Usuario"]; if (usu == null) { return(Redirect("/Usuarios/Index")); } Ventas ven = new Ventas(); ven.fecha_venta = DateTime.Now; ven.id_usuario = ((UsuariosViewModel)Session["Usuario"]).Id; Carritos car = null; car = (Carritos)Session["carrito"]; if (car != null) { ven.monto_total = car.Totalizar(); ven.Detalle_Ventas = new List <Detalle_Ventas>(); foreach (var item in car.Elementos) { ven.Detalle_Ventas.Add(new Detalle_Ventas() { cantidad = item.Cantidad, id_producto = item.id_producto, }); } ViewBag.Mensaje = "Producto comprado"; db.Ventas.Add(ven); db.SaveChanges(); return(View()); } else { ViewBag.Mensaje = "el carro está vacío"; return(View()); } }
public JsonResult Traer() { Carritos miCarrito = null; if (Session["carrito"] == null) { miCarrito = new Carritos(); } else { miCarrito = (Carritos)Session["carrito"]; } return(Json(new { miCarrito.Contar, miCarrito.Totalizar, Traer = miCarrito.Traer.Select (x => new { x.Cantidad, x.SubTotal, x.nombre, x.id, x.precio }).ToList() }, JsonRequestBehavior.AllowGet)); }