public CarritoBE Get_Carrito_Usuario(Int32 id_usuario) { String cadena; String sql = "Carrito_Get_Usuario"; SqlParameter[] arrParameters = new SqlParameter[1]; CarritoBE objCarritoBE = null; Carrito_ProductoBE objCarrito_ProductoBE = new Carrito_ProductoBE(); Carrito_Producto_Elemento_AtributoBE objCarrito_Producto_Elemento_AtributoBE = new Carrito_Producto_Elemento_AtributoBE(); try { cadena = Tool.GetCadenaConexion(); using (SqlConnection conn = new SqlConnection(cadena)) { using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; cmd.CommandType = CommandType.StoredProcedure; arrParameters[0] = new SqlParameter("@id_usuario", id_usuario); for (int i = 0; i < arrParameters.Length; i++) { cmd.Parameters.Add(arrParameters[i]); } cmd.Connection.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { objCarritoBE = new CarritoBE(); objCarritoBE.Id_Carrito = Convert.ToInt32(dr["id_carrito"]); objCarritoBE.Id_Direccion_Envio = dr["id_direccion_envio"] != DBNull.Value ? (Int32?)Convert.ToInt32(dr["id_direccion_envio"]) : null; objCarritoBE.Id_Direccion_Facturacion = dr["id_direccion_facturacion"] != DBNull.Value ? (Int32?)Convert.ToInt32(dr["id_direccion_facturacion"]) : null; objCarritoBE.Id_Usuario = Convert.ToInt32(dr["id_usuario"]); objCarritoBE.Total = Convert.ToDecimal(dr["total"]); } dr.NextResult(); while (dr.Read()) { objCarrito_ProductoBE = new Carrito_ProductoBE(); objCarrito_ProductoBE.Cantidad = Convert.ToInt32(dr["cantidad"]); objCarrito_ProductoBE.Id_Carrito = Convert.ToInt32(dr["id_carrito"]); objCarrito_ProductoBE.Id_Producto = Convert.ToInt32(dr["id_producto"]); objCarrito_ProductoBE.Nombre = dr["nombre_producto"].ToString(); objCarrito_ProductoBE.Imagen = dr["nombre_imagen"].ToString(); objCarrito_ProductoBE.Precio = Convert.ToDecimal(dr["precio"]); objCarrito_ProductoBE.Id_Color = dr["id_color"] != DBNull.Value ? (Int32?)Convert.ToInt32(dr["id_color"]) : null; objCarrito_ProductoBE.Id_Carrito_Producto = Convert.ToInt32(dr["id_carrito_producto"]); objCarritoBE.lstCarrito_ProductoBE.Add(objCarrito_ProductoBE); } dr.NextResult(); while (dr.Read()) { objCarrito_Producto_Elemento_AtributoBE = new Carrito_Producto_Elemento_AtributoBE(); objCarrito_Producto_Elemento_AtributoBE.Id_Carrito_Producto = Convert.ToInt32(dr["id_carrito_producto"]); objCarrito_Producto_Elemento_AtributoBE.Id_Elemento_Atributo = Convert.ToInt32(dr["id_elemento_atributo"]); objCarrito_Producto_Elemento_AtributoBE.Elemento = dr["elemento"].ToString(); objCarrito_Producto_Elemento_AtributoBE.Atributo = dr["atributo"].ToString(); foreach (Carrito_ProductoBE cp in objCarritoBE.lstCarrito_ProductoBE) { if (cp.Id_Carrito_Producto == objCarrito_Producto_Elemento_AtributoBE.Id_Carrito_Producto) { cp.lstCarrito_Producto_Elemento_AtributoBE.Add(objCarrito_Producto_Elemento_AtributoBE); break; } } } } } } return(objCarritoBE); } catch (Exception) { throw; } }