protected void lstBudget_SelectedIndexChanged(object sender, EventArgs e) { // //Toda vez que um usuário selecionar um orçamento, eu envio o valor para uma variável JavaScript, //para poder pegar na tela de pagamento dinamicamente, o processo é feito, para no caso de a venda //ser concretizada, o orçamento deverá ser apagado (Executando em sessão, pois não achei o método de //fazer com hidden // //Page.ViewState["bugdetId"] = bugdetId; CreateBasket(); Session["BudgetId"] = Convert.ToInt32(lstBudget.SelectedValue); ProductManager productManager = new ProductManager(this); SaleManager saleManager = new SaleManager(this); Budget budget = saleManager.GetBudget((Int32)Session["BudgetId"], Company.CompanyId); if (budget.Discount.HasValue) { if (budget.DiscountType == (int)DiscountType.Cash) txtDiscount.Text = budget.Discount.Value.ToString("##,##0.00"); else { #warning eliminar variavel temporaria/ criar método, ou executar função novamente Decimal? discount = budget.BudgetItems.Sum(bi => bi.Quantity * bi.UnitPrice) * (budget.Discount.Value / 100); if (discount.HasValue) txtDiscount.Text = discount.Value.ToString("##,##0.00"); } } if (budget.AdditionalCost.HasValue) txtDiscount.Text = (Convert.ToDecimal(txtDiscount.Text) - Convert.ToDecimal(budget.AdditionalCost.Value)).ToString("##,##0.00"); foreach (DataRow row in productManager.GetProductsByBudget((Int32)Session["BudgetId"]).Rows) { string productName; if (!String.IsNullOrEmpty(row["Name"].ToString())) productName = row["Name"].ToString(); else productName = row["SpecialProductName"].ToString(); //string productName = row["Name"].ToString() + row["SpecialProductName"].ToString(); if (String.IsNullOrEmpty(row["ProductId"].ToString())) productName += " <img src='" + ResolveClientUrl("~/App_Shared/themes/glasscyan/Company/Product_warning.gif") + "' alt='Este produto não se encontra cadastrado!' />"; basket.Rows.Add( row["ProductId"], row["Quantity"], productName, /*SerialNumber*/ "", row["ProductCode"], row["unitPrice"], Convert.ToDouble(row["Quantity"]) * Convert.ToDouble(row["unitPrice"]), row["UnitCost"] != DBNull.Value ? Convert.ToDouble(row["UnitCost"]) : 0 ); } BindGrid(); }