public List <Product> GetProductList(bool IsAppend, int Retailer, string[] Category, string[] Color, string Material, int omittedProductsPages)
        {
            QueryParam qp = new QueryParam();

            qp.TableName    = " Product  a ";
            qp.ReturnFields = " * ";
            qp.Orderfld     = " RandomNo desc ";
            qp.PrimaryKey   = " Id ";

            if (IsAppend)
            {
                qp.PageIndex = omittedProductsPages + 1;
                qp.PageSize  = 10;
            }
            else
            {
                qp.PageIndex = 0;
                qp.PageSize  = omittedProductsPages * 10;
            }


            qp.Where = " 1='1' ";

            if (Retailer != 0)
            {
                qp.Where += " and RetailerId='" + Retailer + "'";
            }

            if (!string.IsNullOrEmpty(Material))
            {
                qp.Where += " and Materials='" + Material + "'";
            }


            if (Category != null)
            {
                if (!Category.Contains("0"))
                {
                    string s = " and Category in (";
                    for (var i = 0; i < Category.Length; i++)
                    {
                        s += "'" + Category[i] + "',";
                    }
                    s         = s.Substring(0, s.Length - 1);
                    s        += ")";
                    qp.Where += s;
                }
            }


            if (Color != null)
            {
                string s = " ";
                if (Color.Length > 0)
                {
                    s += " and (";
                    for (var i = 0; i < Color.Length; i++)
                    {
                        s += " charindex('" + Color[i] + "',Colors)>0 or";
                    }

                    s  = s.Substring(0, s.Length - 2);
                    s += ")";
                }
                qp.Where += s;
            }

            List <Product> products = CurrentDb.GetPageReocrdByProc(qp).Tables[0].ToList <Product>();

            return(products);
        }