Ejemplo n.º 1
0
        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;
            }
        }