protected void btnAgregarExtra_Click(object sender, EventArgs e) { try { int idIngrediente = Convert.ToInt32(cboModalIngrediente.SelectedValue); int idAlimentoPedido = Convert.ToInt32(txtIdAlimentoPedido.Text); ValidateExtraFields(idIngrediente, idAlimentoPedido); cboModalIngrediente.Items.FindByValue(idIngrediente.ToString()).Enabled = false; //Se bloquea la opción de elegir el mismo ingrediente ExtraPedido extra = new ExtraPedido() { IdIngrediente = idIngrediente, CantidadExtra = Convert.ToInt32(txtCantidadPorcion.Text), IdAlimentoPedido = idAlimentoPedido, ValorExtra = string.IsNullOrEmpty(txtModalValorExtra.Text) ? (int?)null : Convert.ToInt32(txtModalValorExtra.Text) }; List <ExtraPedido> listaExtras = carrito.GetListExtra().Where(x => x.IdAlimentoPedido == idAlimentoPedido).ToList(); ExtraPedido item = listaExtras.FirstOrDefault(x => x.IdIngrediente == idIngrediente); if (item != null) { int index = carrito.GetListExtra().IndexOf(item); carrito.UpdateExtra(index, extra); } else { carrito.AddExtra(extra); } CargarGridExtras(idAlimentoPedido); LimpiarModal(); SwitchTextBox(true); } catch (Exception ex) { UserMessageExtra(ex.Message, "danger"); } }
private void AddExtra(ExtraDisponible extraDisp) { int idAlimentoPedido = Convert.ToInt32(ViewState["AlimentoPedido"]); ExtraPedido extraPedido = carrito.GetListExtra().FirstOrDefault(x => x.IdIngrediente == extraDisp.IdIngrediente && x.IdAlimentoPedido == idAlimentoPedido); if (extraPedido == null) { extraPedido = carrito.AddExtra(new ExtraPedido() { IdAlimentoPedido = idAlimentoPedido, IdIngrediente = extraDisp.IdIngrediente, ValorExtra = extraDisp.Valor, CantidadExtra = 1 }); } else { extraPedido.CantidadExtra++; extraPedido.ValorExtra = extraPedido.CantidadExtra * extraDisp.Valor; } }