public Products_ByPrice() { #region Step_3 Map = products => from product in products select new IndexEntry { ProductName = product.Name, OriginalPrice = product.PricePerUnit, SalePrice = DiscountUtils.CalcSalePrice(product.PricePerUnit), // Code behind: // public static decimal CalcSalePrice(decimal price) // { // return price - price / 100M * 25M; // } ProfitPrice = DiscountUtils.CalcProfitPrice(product.PricePerUnit) // Code behind: // public static decimal CalcSalePrice(decimal price) // { // return price + price / 100M * 25M; // } }; #endregion #region Step_4 AdditionalSources = new Dictionary <string, string> { { "DiscountLogic", System.IO.File.ReadAllText( Path.Combine(AppContext.BaseDirectory, "MyAdditionalSourceFile.cs")) } }; #endregion }
public void BindGrid() { try { cartSub.Style.Remove("text-decoration"); discSub.Text = ""; if (Request.Cookies.Get("cartKey") != null) { Guid cartKey = Guid.Parse(Request.Cookies["cartKey"].Value); List <SqlParameter> p = new List <SqlParameter>(); p.Add(new SqlParameter("@GUID", cartKey)); DataTable cartDetails = DB.Get("CartSummaryGet", p.ToArray()); CartView.DataSource = cartDetails; if (cartDetails != null && cartDetails.Rows.Count > 0) { p = new List <SqlParameter>(); p.Add(new SqlParameter("@CacheID", cartKey)); decimal Subtotal = 0M; DataTable dtSub = DB.Get("CartSubtotalGet", p.ToArray()); if (dtSub != null && dtSub.Rows.Count > 0) { string strSub = dtSub.Rows[0][0].ToString(); decimal tryDecimal = 0M; if (decimal.TryParse(strSub, out tryDecimal)) { Subtotal = tryDecimal; } } cartSub.Text = "$" + Subtotal.ToString("0.00"); DataRow dr = cartDetails.Rows[0]; if (!string.IsNullOrEmpty(dr["DiscountID"].ToString())) { decimal CartTotal = DiscountUtils.CalculateDiscountTotal((int)dr["DiscountID"], cartKey); cartSub.Style.Add("text-decoration", "line-through"); discSub.Text = "W/ Discount: $" + CartTotal.ToString("0.00"); } } else { cartSub.Text = "$0.00"; } } else { CartView.DataSource = string.Empty; } CartView.DataBind(); } catch (Exception ex) { LoggingUtil.InsertError(ex); } }
protected void Page_Load(object sender, EventArgs e) { lDiscount.Visible = false; if (!string.IsNullOrWhiteSpace(Request.Params["paymentId"].ToString()) && !string.IsNullOrWhiteSpace(Request.Params["PayerID"].ToString())) { paymentid.Value = Request.Params["paymentId"].ToString(); payerid.Value = Request.Params["PayerID"].ToString(); } else { Response.Redirect("~/Shop", false); } if (Request.Cookies["cartKey"] != null) { Guid cartKey = Guid.Parse(Request.Cookies["cartKey"].Value); List <SqlParameter> p = new List <SqlParameter>(); p.Add(new SqlParameter("@GUID", cartKey)); DataTable cartDetails = DB.Get("CartSummaryGet", p.ToArray()); CartView.DataSource = cartDetails; CartView.DataBind(); p = new List <SqlParameter>(); p.Add(new SqlParameter("@CacheID", cartKey)); decimal Subtotal = 0M; DataTable dtSub = DB.Get("CartSubtotalGet", p.ToArray()); if (dtSub != null && dtSub.Rows.Count > 0) { string strSub = dtSub.Rows[0][0].ToString(); decimal tryDecimal = 0M; if (decimal.TryParse(strSub, out tryDecimal)) { Subtotal = tryDecimal; } } DataRow dr = cartDetails.Rows[0]; decimal Discount = 0M; if (!string.IsNullOrEmpty(dr["DiscountID"].ToString())) { Discount = DiscountUtils.CalculateDiscountTotal((int)dr["DiscountID"], cartKey); } decimal Shipping = ScalablePressUtils.GetShippingQuote(cartKey); if (Shipping > 0M) { lSubTotal.Text = "Subtotal: $" + Subtotal.ToString("0.00"); if (Discount > 0) { lDiscount.Text = "Discount: -$" + Discount.ToString("0.00"); lDiscount.Visible = true; } lShipTotal.Text = "S&H: $" + Shipping.ToString("0.00"); lTotal.Text = "Total: $" + Math.Round(Subtotal - Discount + Shipping, 2, MidpointRounding.AwayFromZero).ToString("0.00"); } } }
protected void btDiscount_Click(object sender, EventArgs e) { lDiscount.Text = ""; if (Request.Cookies.Get("cartKey") != null) { Guid cartKey = Guid.Parse(Request.Cookies["cartKey"].Value); string discountcode = tbCode.Text; int DiscountID = 0; if (!string.IsNullOrWhiteSpace(discountcode)) { if (DiscountUtils.IsValidDiscount(discountcode, out DiscountID)) { if (DiscountUtils.ApplyDiscountToCart(DiscountID, cartKey)) { lDiscount.Text = "Discount code applied!"; cgCurrent.BindGrid(); } else { lDiscount.Text = "Unknown error has occured"; } } else { lDiscount.Text = "Discount code is not valid"; } } else { lDiscount.Text = "Discount code is empty"; } } else { lDiscount.Text = "Cart cannot be empty"; } }