private void BindData() { SuiteModel suite = new SuiteBll().GetModel(SuiteID); DataTable dt = bll.GetList(SuiteID); decimal sumPrice = 0, sumMarketPrice = 0; foreach (DataRow row in dt.Rows) { row["mediumimage"] = ProductMainImageRule.GetMainImageUrl(row["mediumimage"].ToString()); sumPrice += Convert.ToDecimal(row["price"]); sumMarketPrice += Convert.ToDecimal(row["tradeprice"]); } Repeater_Products.DataSource = dt; Repeater_Products.DataBind(); Literal_SuiteSum.Text = suite.Price.ToString("0.00"); Literal_SaveValue.Text = (sumMarketPrice - suite.Price).ToString("0.00"); }
private void LoadProductValues() { //Show admin all products bool isAdmin = false; if (User.IsInRole("admin")) { isAdmin = true; } I_EshopserviceClient client = new I_EshopserviceClient(); ProductTable = client.GetAllProductsByAmount(12, isAdmin); //Gets the 5 latest added products Repeater_Products.DataSource = ProductTable; Repeater_Products.DataBind(); Repeater_Slideshow.DataSource = ProductTable; Repeater_Slideshow.DataBind(); //just to make sure that the arraylists are empty Productrows = new ArrayList(); ProductColumns = new ArrayList(); }
private void GetProducts(string field = "price", bool ascending = true) { Dictionary <string, object> parameter = new Dictionary <string, object>(); parameter.Add("id", this._categoryId); string order = (ascending) ? "ASC" : "DESC"; string sql = @"SELECT p.id, p.name, p.stock, p.[image],p.price FROM Products AS p INNER JOIN Product_has_categories AS pc ON p.id = pc.product_id LEFT JOIN Product_has_genres AS pg ON p.id = pg.product_id WHERE pc.category_id = @id"; //Add search filter if (Request.QueryString["q"] != null && Request.QueryString["q"] != "") { sql += " AND (name LIKE '%' + @search + '%' OR description LIKE '%' + @search + '%')"; parameter.Add("search", Request.QueryString["q"]); } //Add price filter int minPris = 0; int maxPris = 0; int.TryParse(Request.QueryString["minPris"], out minPris); int.TryParse(Request.QueryString["maxPris"], out maxPris); if (maxPris == 0) { maxPris = 9999999; } sql += string.Format(" AND price BETWEEN {0} AND {1}", minPris, maxPris); //Add year filter int minYear = 0; int maxYear = 0; int.TryParse(Request.QueryString["minYear"], out minYear); int.TryParse(Request.QueryString["maxYear"], out maxYear); if (maxYear == 0) { maxYear = 9999999; } sql += string.Format(" AND year BETWEEN {0} AND {1}", minYear, maxYear); //Add genre filter if (Request.QueryString["genres"] != null && Request.QueryString["genres"] != "") { string test = Request.QueryString["genres"]; string genreIds = test.Replace("~", ","); sql += string.Format(" AND pg.genre_id IN({0})", genreIds); } //Add sorting sql += " GROUP BY p.id, p.name, p.price, p.image, p.stock ORDER BY " + field + " " + order; DataTable products = db.Select(sql, parameter); if (products.Rows.Count == 0) { Label_noProducts.Text = "Din søgning gav intet resultat!"; } Repeater_Products.DataSource = products; Repeater_Products.DataBind(); }