예제 #1
0
        public List <Product> GetAllProducts()
        {
            var query = "SELECT * FROM Products";

            var products = SqliteUtil.Query <Product>(toProduct, query);

            return(products);
        }
예제 #2
0
        public List <Product> GetProductsByName(string name)
        {
            var query = "SELECT * FROM Products WHERE LOWER(name) LIKE @Name";

            SqliteParameter[] parameters = { new SqliteParameter("@Name", $"%{name.ToLower()}%") };

            var products = SqliteUtil.Query <Product>(toProduct, query, parameters);

            return(products);
        }
예제 #3
0
        public List <ProductOption> GetAllProductOptions(Guid productId)
        {
            var query = "SELECT * FROM ProductOptions WHERE productId = @productId collate nocase";

            SqliteParameter[] parameters = { new SqliteParameter("@productId", productId) };

            var options = SqliteUtil.Query <ProductOption>(toProductOption, query, parameters);

            return(options);
        }
예제 #4
0
        public Product GetProductById(Guid id)
        {
            var query = "SELECT * FROM Products WHERE id = @id collate nocase";

            SqliteParameter[] parameters = { new SqliteParameter("@id", id) };

            var products = SqliteUtil.Query <Product>(toProduct, query, parameters);

            if (products.Count == 1)
            {
                return(products[0]);
            }

            return(null);
        }
예제 #5
0
        public bool ProductExists(Guid id)
        {
            var query = "SELECT id FROM Products WHERE id = @Id collate nocase";

            SqliteParameter[] parameters = { new SqliteParameter("@Id", id) };

            var products = SqliteUtil.Query <Product>(
                (SqliteDataReader reader) => {
                return(new Product()
                {
                    Id = Guid.Parse(reader.GetValueOrDefault <string>("Id"))
                });
            }, query, parameters);

            return(products.Count > 0);
        }
예제 #6
0
        public ProductOption GetProductOptionById(Guid productId, Guid optionId)
        {
            var query = "SELECT * FROM productoptions WHERE productId = @productId collate nocase AND id = @optionId collate nocase";

            SqliteParameter[] parameters =
            {
                new SqliteParameter("@productId", productId),
                new SqliteParameter("@optionId",  optionId),
            };

            var options = SqliteUtil.Query <ProductOption>(toProductOption, query, parameters);

            if (options.Count == 1)
            {
                return(options[0]);
            }

            return(null);
        }