protected void btAgregarMovimiento_Click(object sender, EventArgs e) { DataTable Temporal = (DataTable)Session["tablaActos"]; if (!ddlActos.SelectedValue.ToString().Equals("0") && !txValorBase.Text.Equals("0.00")) { Parametro par = new Parametro(); Acto acto = new Acto(); Tarifa tar = acto.ObtenerTarifa(int.Parse(ddlActos.SelectedValue.ToString())); //Llenar el grid con los datos del movimiento if (Temporal.Rows[0][0].ToString().Equals("")) { Temporal.Rows.Clear(); } int repetir = 1; if (txRepetir.Text.Length > 0) { repetir = int.Parse(txRepetir.Text); } for (int i = 0; i < repetir; i++) { DataRow dr = Temporal.NewRow(); dr["Id"] = Temporal.Rows.Count + 1; dr["Acto"] = ddlActos.SelectedValue.ToString(); dr["Movimiento"] = ddlMovimientos.SelectedValue.ToString(); dr["Descripcion"] = ddlMovimientos.SelectedItem.Text.ToString(); dr["ValorBase"] = txValorBase.Text; //calcular el costo del movimiento String cant = ""; if (!(tar.SmFijo.ToString()).Equals("0")) { float salMin = float.Parse(par.ObtenerSalario()); cant = ((float.Parse(tar.SmFijo.ToString())) * salMin).ToString("0.00"); } else { float valorC = (tar.Porcentaje * float.Parse(txValorBase.Text)) / 100; float salMax = tar.SmMaximo * (float.Parse(par.ObtenerSalario())); if (valorC > salMax) { cant = salMax.ToString("0.00"); } else { cant = valorC.ToString("0.00"); } } dr["Cantidad"] = cant; dr["Descuento"] = tar.Descuento.ToString(); dr["Subtotal"] = (float.Parse(cant) - tar.Descuento).ToString("0.00"); Temporal.Rows.Add(dr); Session["tablaActos"] = Temporal; gvMovimientos.DataSource = Temporal; gvMovimientos.DataBind(); } float total = 0; foreach (DataRow row in Temporal.Rows) { total += float.Parse(row["Subtotal"].ToString()); } txTotal.Text = "$" + total.ToString("0.00"); ddlActos.SelectedIndex = 0; ddlMovimientos.Items.Clear(); ddlMovimientos.Items.Add("Listado de movimientos"); ddlMovimientos.SelectedIndex = 0; } }