protected void GridCarrito_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    GridViewRow row = e.Row;

                    GridView gridExtras = (GridView)row.FindControl("GridExtrasAgregados");

                    Label      lblIdElementoPedido = (Label)row.FindControl("lblCodigoElementoPedido");
                    Label      lblTipoElemento     = (Label)row.FindControl("lblTipoElemento");
                    Label      lblIdAlimento       = (Label)row.FindControl("lblCodigo");
                    LinkButton buttonExtra         = (LinkButton)row.FindControl("ButtonExtras");

                    Image image = (Image)row.FindControl("imageAlimento");


                    if (lblTipoElemento.Text == "Alimento")
                    {
                        Alimento alimento = aDAL.Find(Convert.ToInt32(lblIdAlimento.Text));

                        image.ImageUrl = $"/Fotos/Productos/{alimento.Foto}";

                        gridExtras.DataSource = carrito.GetListExtra().Where(x => x.IdAlimentoPedido == Convert.ToInt32(lblIdElementoPedido.Text));
                        gridExtras.DataBind();
                    }
                    else
                    {
                        buttonExtra.Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                UserMessage(ex.Message, "danger");
            }
        }
Exemple #2
0
        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");
            }
        }