protected void GridExtrasAgregados_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { GridViewRow row = e.Row; LinkButton btnAdd = (LinkButton)row.FindControl("btnPlus"); LinkButton btnSubstract = (LinkButton)row.FindControl("btnMinus"); int idIngrediente = Convert.ToInt32((row.FindControl("lblCodigo") as Label).Text); Label lblElementoPedido = e.Row.Parent.Parent.Parent.FindControl("lblCodigoElementoPedido") as Label; Label lblIdAlimento = e.Row.Parent.Parent.Parent.FindControl("lblCodigo") as Label; Ingrediente ingrediente = iDAL.Find(idIngrediente); ExtraPedido extraPedido = carrito.GetListExtra().FirstOrDefault(x => x.IdIngrediente == idIngrediente && x.IdAlimentoPedido == int.Parse(lblElementoPedido.Text)); ExtraDisponible extraDisponible = eDDAL.FindByAlimentoAndIngrediente(int.Parse(lblIdAlimento.Text), idIngrediente); Label lblIngrediente = row.FindControl("lblIngrediente") as Label; Label lblCantidad = row.FindControl("lblCantidad") as Label; Label lblValor = row.FindControl("lblValor") as Label; lblIngrediente.Text = ingrediente.Nombre; lblCantidad.Text = $"{ingrediente.Porción * extraPedido.CantidadExtra} {tMDAL.Find(ingrediente.IdTipoMedicionPorcion.Value).Descripcion}"; int valor = extraDisponible.Valor.HasValue ? extraPedido.CantidadExtra.Value * extraDisponible.Valor.Value : 0; lblValor.Text = $"{ valor }"; btnAdd.Enabled = extraPedido == null || extraPedido.CantidadExtra != extraDisponible.CantidadMaxima; btnSubstract.Enabled = extraPedido != null; } }
protected void GridExtrasAgregados_RowCommand(object sender, GridViewCommandEventArgs e) { int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = ((GridView)sender).Rows[index]; LinkButton btnAdd = (LinkButton)row.FindControl("btnPlus"); LinkButton btnSubstract = (LinkButton)row.FindControl("btnMinus"); Label lblCantidad = row.FindControl("lblCantidad") as Label; Label lblElementoPedido = row.Parent.Parent.Parent.FindControl("lblCodigoElementoPedido") as Label; int idAlimentoPedido = Convert.ToInt32(lblElementoPedido.Text); int idAlimento = carrito.GetListAlimentos().FirstOrDefault(x => x.IdAlimentoPedido == idAlimentoPedido).IdAlimento.Value; int idIngrediente = Convert.ToInt32((row.FindControl("lblCodigo") as Label).Text); ExtraDisponible extraDisp = eDDAL.FindByAlimentoAndIngrediente(idAlimento, idIngrediente); ViewState["AlimentoPedido"] = idAlimentoPedido; switch (e.CommandName) { case "SubstractOne": SubstractExtra(extraDisp); break; case "AddOne": AddExtra(extraDisp); break; } CargarGridCarrito(); CargarTotales(); }
private void ValidateExtraFields(int idIngrediente, int idAlimentoPedido) { if (idIngrediente == 0) { throw new Exception("Debe seleccionar un ingrediente para agregar"); } ExtraDisponible extraDisponible = eDDAL.FindByAlimentoAndIngrediente(Convert.ToInt32(lblModalIdAlimento.Text), idIngrediente); if (!int.TryParse(txtCantidadPorcion.Text, out int cantidad)) { throw new Exception("Debe ingresar una cantidad para ser agregada"); } if (cantidad == 0) { throw new Exception("Debe ingresar una cantidad para ser agregada"); } if (cantidad < 0) { throw new Exception("La cantidad ingresada debe ser mayor a 0"); } if (cantidad > extraDisponible.CantidadMaxima) { throw new Exception("La cantidad Ingresada supera a la cantidad maxima de este ingrediente"); } }
public void Remove(int id) { ExtraDisponible p = Find(id); nowBDEntities.ExtraDisponible.Remove(p); nowBDEntities.SaveChanges(); }
public ExtraDisponible Add(ExtraDisponible p) { ExtraDisponible obj = nowBDEntities.ExtraDisponible.Add(p); nowBDEntities.SaveChanges(); return(obj); }
protected void cboIngrediente_TextChanged(object sender, EventArgs e) { int idAlimentoPedido = Convert.ToInt32(txtIdAlimentoPedido.Text); int idIngrediente = Convert.ToInt32(cboModalIngrediente.SelectedValue); ExtraDisponible extraDisponible = eDDAL.FindByAlimentoAndIngrediente(Convert.ToInt32(lblModalIdAlimento.Text), idIngrediente); Ingrediente ingrediente = iDAL.FindByName(cboModalIngrediente.SelectedItem.Text); EliminarCbo(); if (idIngrediente != 0) { if (ingrediente.Porción != null) { txtValorPorPorcion.Text = $"{ingrediente.Porción} {ingrediente.TipoMedicion1.Descripcion}"; txtCantidadPorcion.Text = "1"; lblModalCantidadMaxima.Text = extraDisponible.CantidadMaxima.HasValue ? $"La cantidad maxima de porciones es de: {extraDisponible.CantidadMaxima}" : ""; txtModalValorExtra.Text = extraDisponible.Valor.Value.ToString(); SwitchTextBox(false); } else { txtValorPorPorcion.Text = "No establecido"; SwitchTextBox(true); UserMessageExtra("Este Ingrediente no tiene las porciones establecidas", "danger"); } } }
public void Update(ExtraDisponible extra) { ExtraDisponible extraLista = Find(extra.IdExtraDisponible); extraLista.IdAlimento = extra.IdAlimento; extraLista.IdIngrediente = extra.IdIngrediente; extraLista.Valor = extra.Valor; extraLista.CantidadMaxima = extra.CantidadMaxima; }
public void Update(ExtraDisponible p) { ExtraDisponible ExtraDisponible = nowBDEntities.ExtraDisponible.FirstOrDefault(obj => obj.IdExtraDisponible == p.IdExtraDisponible); ExtraDisponible.IdIngrediente = p.IdIngrediente; ExtraDisponible.IdAlimento = p.IdAlimento; ExtraDisponible.Valor = p.Valor; ExtraDisponible.CantidadMaxima = p.CantidadMaxima; nowBDEntities.SaveChanges(); }
public void UpdateFields(List <ExtraDisponible> extrasGrid, List <ExtraDisponible> extrasDataBase) { foreach (ExtraDisponible itemGrid in extrasGrid) { ExtraDisponible itemBDD = extrasDataBase.FirstOrDefault(i => i.IdIngrediente == itemGrid.IdIngrediente); if (itemBDD != null) { itemBDD.CantidadMaxima = itemGrid.CantidadMaxima; itemBDD.Valor = itemGrid.Valor; Update(itemBDD); } } }
private void LlenarExtraFields(ExtraPedido extra) { //LoadCboModalIngrediente(); ExtraDisponible extraDisponible = eDDAL.FindByAlimentoAndIngrediente(Convert.ToInt32(lblModalIdAlimento.Text), extra.IdIngrediente.Value); Ingrediente ingrediente = iDAL.Find(extra.IdIngrediente.Value); cboModalIngrediente.Items.FindByValue(extra.IdIngrediente.Value.ToString()).Enabled = true; cboModalIngrediente.SelectedValue = extra.IdIngrediente.Value.ToString(); ViewState["IdIngrediente"] = ingrediente.IdIngrediente; txtCantidadPorcion.Text = extra.CantidadExtra.ToString(); txtValorPorPorcion.Text = $"{ingrediente.Porción} {tMDAL.Find(ingrediente.IdTipoMedicion.Value).Descripcion}"; txtModalValorExtra.Text = extra.ValorExtra.HasValue ? extra.ValorExtra.Value.ToString() : ""; }
private void SubstractExtra(ExtraDisponible extraDisp) { int idAlimentoPedido = Convert.ToInt32(ViewState["AlimentoPedido"]); ExtraPedido extraPedido = carrito.GetListExtra().FirstOrDefault(x => x.IdIngrediente == extraDisp.IdIngrediente && x.IdAlimentoPedido == idAlimentoPedido); if (extraPedido.CantidadExtra == 1) { carrito.RemoveExtra(extraPedido); } else { extraPedido.CantidadExtra--; extraPedido.ValorExtra = extraPedido.CantidadExtra * extraDisp.Valor; } }
public void AddIngrediente(Ingrediente ingrediente) { ExtraDisponible extra = extrasDisponibles.FirstOrDefault(x => x.IdIngrediente == ingrediente.IdIngrediente); if (extra == null) { AddExtra(new ExtraDisponible() { IdIngrediente = ingrediente.IdIngrediente, CantidadMaxima = 1, Valor = 0 }); } else { extra.CantidadMaxima++; } }
protected void GridViewExtras_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { try { GridViewRow row = e.Row; List <ExtraPedido> extrasOnCart = new List <ExtraPedido>(); LinkButton btnAdd = (LinkButton)row.FindControl("btnPlus"); LinkButton btnSubstract = (LinkButton)row.FindControl("btnMinus"); int idAlimentoPedido = Convert.ToInt32(lblModalCodigo.Text); int idAlimento = carrito.GetListAlimentos().FirstOrDefault(x => x.IdAlimentoPedido == idAlimentoPedido).IdAlimento.Value; int idIngrediente = Convert.ToInt32((row.FindControl("lblCodigo") as Label).Text); ExtraPedido extraPedido = carrito.GetListExtra().FirstOrDefault(x => x.IdIngrediente == idIngrediente && x.IdAlimentoPedido == idAlimentoPedido); Ingrediente ingrediente = iDAL.Find(idIngrediente); ExtraDisponible extraDisp = eDDAL.FindByAlimentoAndIngrediente(idAlimento, idIngrediente); Label lblIngrediente = row.FindControl("lblIngrediente") as Label; lblIngrediente.Text = ingrediente.Descripcion; Label lblCantidad = row.FindControl("lblCantidad") as Label; lblCantidad.Text = extraPedido != null?extraPedido.CantidadExtra.ToString() : "0"; Label lblValor = row.FindControl("lblValor") as Label; lblValor.Text = extraDisp.Valor.ToString(); Label lblTotal = row.FindControl("lblTotal") as Label; lblTotal.Text = extraPedido != null ? (extraDisp.Valor * extraPedido.CantidadExtra).ToString() : "0"; btnAdd.Enabled = extraPedido == null || extraPedido.CantidadExtra != extraDisp.CantidadMaxima; btnSubstract.Enabled = extraPedido != null; } catch (Exception ex) { UserMessage(ex.Message, "danger"); } } }
public void SubstractOne(Ingrediente ingrediente) { try { ExtraDisponible extra = FindByIngrediente(ingrediente.IdIngrediente); if (extra.CantidadMaxima == 1) { extrasDisponibles.Remove(extra); } else { extra.CantidadMaxima--; Update(extra); } } catch (Exception e) { throw new Exception(e.Message); } }
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; } }
protected void GridViewExtrasDisponibles_RowUpdating(object sender, GridViewUpdateEventArgs e) { try { GridViewRow row = GridViewExtrasDisponibles.Rows[e.RowIndex]; Label lbl = row.FindControl("lblCodigo") as Label; ExtraDisponible extraDisponible = listaExtras.Find(Convert.ToInt32(lbl.Text)); TextBox txt = row.FindControl("txtValor") as TextBox; extraDisponible.Valor = int.TryParse(txt.Text, out int valor) ? valor : 0; //listaExtras.Update(extraDisponible); ((GridView)sender).EditIndex = -1; LoadGridExtrasDisponibles(); } catch (Exception ex) { UserMessage(ex.Message, "danger"); } }
protected void GridViewExtras_RowCommand(object sender, GridViewCommandEventArgs e) { try { int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = ((GridView)sender).Rows[index]; LinkButton btnAdd = (LinkButton)row.FindControl("btnPlus"); LinkButton btnSubstract = (LinkButton)row.FindControl("btnMinus"); Label lblCantidad = row.FindControl("lblCantidad") as Label; int idAlimentoPedido = Convert.ToInt32(lblModalCodigo.Text); int idAlimento = carrito.GetListAlimentos().FirstOrDefault(x => x.IdAlimentoPedido == idAlimentoPedido).IdAlimento.Value; int idIngrediente = Convert.ToInt32((row.FindControl("lblCodigo") as Label).Text); ExtraDisponible extraDisp = eDDAL.FindByAlimentoAndIngrediente(idAlimento, idIngrediente); ViewState["AlimentoPedido"] = idAlimentoPedido; switch (e.CommandName) { case "SubstractOne": SubstractExtra(extraDisp); break; case "AddOne": AddExtra(extraDisp); break; } GridViewExtras.DataSource = aDAL.GetExtrasDisponibles(idAlimento); GridViewExtras.DataBind(); } catch (Exception ex) { UserMessage(ex.Message, "danger"); } }
public ExtraDisponible Find(int id) { ExtraDisponible m = nowBDEntities.ExtraDisponible.FirstOrDefault(obj => obj.IdExtraDisponible == id); return(m); }
public ExtraDisponible FindByAlimentoAndIngrediente(int idAlimento, int idIngrediente) { ExtraDisponible m = nowBDEntities.ExtraDisponible.FirstOrDefault(obj => obj.IdAlimento == idAlimento && obj.IdIngrediente == idIngrediente); return(m); }
public void AddExtra(ExtraDisponible extra) { extra.IdExtraDisponible = extrasDisponibles.Count > 0 ? extrasDisponibles.Last().IdExtraDisponible + 1 : 1; extrasDisponibles.Add(extra); }