public static void insertarSubDetalle(SubDetallePedido subdetalle, SqlConnection conexion, SqlTransaction transaction) { //Conexion string cadenaConexion = ConfigurationManager.ConnectionStrings["CreamTimeConexion"].ConnectionString; SqlConnection con = conexion; //Inserto nuevo subdetalle SqlCommand cmd = new SqlCommand(); SqlTransaction tran = transaction; try { cmd.Connection = con; cmd.Transaction = tran; cmd.CommandText = @"INSERT INTO subdetalle_pedido (id_detalle_pedido ,id_producto) VALUES (@Detalle ,@Producto)"; cmd.Parameters.AddWithValue("@Detalle", subdetalle.Detalle_Pedido.ID); cmd.Parameters.AddWithValue("@Producto", subdetalle.Producto.Id); //Inserto subdetalle y commit a la transaccion cmd.ExecuteNonQuery(); } catch (Exception ex) { throw new ApplicationException("Error al insertar un sudbetalle de pedido. " + ex.Message); } }
//Agrega un elemento al carrito de compras public void btn_agregarDetalle(object sender, EventArgs e) { DetallePedido detalle = new DetallePedido(); Producto prod = new Producto(); SubDetallePedido subdetalle; List <DetallePedido> listaDetalles; List <SubDetallePedido> listaSabores; int i = 1; //Seteo el detalle detalle.Cantidad = 1; prod.Id = int.Parse(combo_producto.SelectedValue); prod.Nombre = combo_producto.SelectedItem.Text; detalle.Producto = prod; detalle.Precio = GestorProducto.obtenerProductoPorID(prod.Id).Precio; //Verifica si el carrito esta vacio if (Session["listaDetalles"] != null) { //Si tiene elementos, los almacena en la lista para persistirlos listaDetalles = (List <DetallePedido>)Session["listaDetalles"]; } else { //Crea la lista de cero listaDetalles = new List <DetallePedido>(); } //Seteo id de detalle provisiorio detalle.ID = listaDetalles.Count + 1; listaSabores = new List <SubDetallePedido>(); //Recorro los sabores (en caso de que no haya no recorre nada) List <DropDownList> dropdowns = new List <DropDownList>(); GetControlList <DropDownList>(Page.Controls, dropdowns); foreach (var combo in dropdowns) { string n = "ddl_" + i; if (combo.ID == n && combo.Visible == true) { subdetalle = new SubDetallePedido(); prod = new Producto(); prod.Id = int.Parse(combo.SelectedValue); prod.Nombre = combo.SelectedItem.Text; subdetalle.Producto = prod; listaSabores.Add(subdetalle); i += 1; } } //Agrego sabores detalle.sabores = listaSabores; //Agrego el detalle listaDetalles.Add(detalle); Session.Add("listaDetalles", listaDetalles); //Limpio limpiar(); cargarGrilla(); }