Exemplo n.º 1
0
        public static List <ProductBase> FillProducts()
        {
            OleDbConnection con     = new OleDbConnection(SqlConnection);
            OleDbCommand    command = new OleDbCommand("SELECT * FROM TB_PRODUCT", con);

            command.CommandTimeout = 60000;

            List <ProductBase> products = new List <ProductBase>();

            try
            {
                con.Open();

                using (OleDbDataReader reader = command.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            ProductBase product = null;
                            string      type    = String.Empty;

                            if (!reader.IsDBNull(reader.GetOrdinal("Type")))
                            {
                                type = reader.GetString(reader.GetOrdinal("Type"));
                            }

                            if (type.Equals("tablet"))
                            {
                                product = new ProductTablet();

                                if (!reader.IsDBNull(reader.GetOrdinal("Size")))
                                {
                                    ((ProductTablet)product).Size = reader.GetString(reader.GetOrdinal("Size"));
                                }
                            }
                            else if (type.Equals("accessory"))
                            {
                                product = new ProductAccessory();

                                if (!reader.IsDBNull(reader.GetOrdinal("Color")))
                                {
                                    ((ProductAccessory)product).Color = reader.GetString(reader.GetOrdinal("Color"));
                                }
                            }


                            //-->COPY THIS PART

                            if (!reader.IsDBNull(reader.GetOrdinal("ID")))
                            {
                                product.Id = reader.GetInt32(reader.GetOrdinal("ID"));
                            }

                            if (!reader.IsDBNull(reader.GetOrdinal("SKU")))
                            {
                                product.SKU = reader.GetString(reader.GetOrdinal("SKU"));
                            }

                            product.Type = type;

                            if (!reader.IsDBNull(reader.GetOrdinal("Name")))
                            {
                                product.Name = reader.GetString(reader.GetOrdinal("Name"));
                            }

                            if (!reader.IsDBNull(reader.GetOrdinal("Description")))
                            {
                                product.Description = reader.GetString(reader.GetOrdinal("Description"));
                            }

                            if (!reader.IsDBNull(reader.GetOrdinal("Img")))
                            {
                                product.Img = reader.GetString(reader.GetOrdinal("Img"));
                            }

                            //SET! IN ProductBase
                            if (!reader.IsDBNull(reader.GetOrdinal("Price")))
                            {
                                product.Price = reader.GetDouble(reader.GetOrdinal("Price"));
                            }


                            //<--COPY THIS PART

                            products.Add(product);
                        }
                    }
                }
            }
            catch
            {
                throw;
            }
            finally
            {
                if (con != null)
                {
                    con.Close();
                }
            }

            return(products);
        }
Exemplo n.º 2
0
        public ProductBase GetProductBaseFromRecord(OleDbDataReader reader)
        {
            ProductBase product = null;
            string      type    = String.Empty;

            if (!reader.IsDBNull(reader.GetOrdinal("Type")))
            {
                type = reader.GetString(reader.GetOrdinal("Type"));
            }

            if (type.Equals("tablet"))
            {
                product = new ProductTablet();

                if (!reader.IsDBNull(reader.GetOrdinal("Size")))
                {
                    ((ProductTablet)product).Size = reader.GetString(reader.GetOrdinal("Size"));
                }
            }
            else if (type.Equals("accessory"))
            {
                product = new ProductAccessory();

                if (!reader.IsDBNull(reader.GetOrdinal("Color")))
                {
                    ((ProductAccessory)product).Color = reader.GetString(reader.GetOrdinal("Color"));
                }
            }

            if (product != null)
            {
                if (!reader.IsDBNull(reader.GetOrdinal("ID")))
                {
                    product.Id = reader.GetInt32(reader.GetOrdinal("ID"));
                }

                if (!reader.IsDBNull(reader.GetOrdinal("SKU")))
                {
                    product.SKU = reader.GetString(reader.GetOrdinal("SKU"));
                }

                product.Type = type;

                if (!reader.IsDBNull(reader.GetOrdinal("Name")))
                {
                    product.Name = reader.GetString(reader.GetOrdinal("Name"));
                }

                if (!reader.IsDBNull(reader.GetOrdinal("Description")))
                {
                    product.Description = reader.GetString(reader.GetOrdinal("Description"));
                }

                if (!reader.IsDBNull(reader.GetOrdinal("Img")))
                {
                    product.Img = reader.GetString(reader.GetOrdinal("Img"));
                }

                //SET! IN ProductBase
                //if (!reader.IsDBNull(reader.GetOrdinal("Price")))
                //    product.Price = reader.GetDouble(reader.GetOrdinal("Price"));
            }
            return(product);
        }