Пример #1
0
        public void Remove(int id)
        {
            ExtraPedido p = Find(id);

            nowBDEntities.ExtraPedido.Remove(p);
            nowBDEntities.SaveChanges();
        }
Пример #2
0
        public ExtraPedido Add(ExtraPedido p)
        {
            ExtraPedido obj = nowBDEntities.ExtraPedido.Add(p);

            nowBDEntities.SaveChanges();
            return(obj);
        }
Пример #3
0
 public ExtraPedido AddExtra(ExtraPedido extra)
 {
     //VerificarStock(extra);
     extra.IdExtraPedido = listadoExtras.Count > 0 ? listadoExtras.Last().IdExtraPedido + 1 : 1;
     listadoExtras.Add(extra);
     return(extra);
 }
        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;
            }
        }
Пример #5
0
        public void Edit(ExtraPedido p)
        {
            ExtraPedido extra = nowBDEntities.ExtraPedido.FirstOrDefault(obj => obj.IdExtraPedido == p.IdExtraPedido);

            extra = p;
            nowBDEntities.SaveChanges();
        }
Пример #6
0
        private string LlenarAlimentos(int id)
        {
            string alimentos = "";

            alimentos += "<tr class='thead-light'><th colspan='2'> Preparaciones </th></tr>";
            foreach (AlimentoPedido item in aPDAL.GetAlimentos(id))
            {
                List <ExtraPedido> extras = exPDAL.GetAll().Where(x => x.IdAlimentoPedido == item.IdAlimentoPedido).ToList();
                int cantidadExtras        = extras.Count;
                alimentos += "<tr>";
                if (cantidadExtras < 2)
                {
                    alimentos += $"<td>{aDAL.Find((int)item.IdAlimento).Nombre}</td>";
                    if (cantidadExtras == 0)
                    {
                        alimentos += $"<td>No tiene Extras</td>";
                    }
                    else
                    {
                        ExtraPedido extra       = exPDAL.GetAll().FirstOrDefault(x => x.IdAlimentoPedido == item.IdAlimentoPedido);
                        Ingrediente ingrediente = iDAL.Find((int)extra.IdIngrediente);
                        if (extra.CantidadExtra < 2)//Cantidad de porciones
                        {
                            alimentos += $"<td>Extra {ingrediente.Nombre}</td>";
                        }
                        else
                        {
                            alimentos += $"<td>Extra {ingrediente.Nombre} x{extra.CantidadExtra}</td>";
                        }
                    }
                }
                else
                {
                    alimentos += $"<td rowspan='{cantidadExtras}' class='align-middle'>{aDAL.Find((int)item.IdAlimento).Nombre}</td>";
                    foreach (ExtraPedido extra in extras)
                    {
                        if (extra.CantidadExtra < 2)//Cantidad de porciones
                        {
                            alimentos += $"<td>Extra {iDAL.Find((int)extra.IdIngrediente).Nombre}</td>";
                        }
                        else
                        {
                            alimentos += $"<td>Extra {iDAL.Find((int)extra.IdIngrediente).Nombre} x{extra.CantidadExtra}</td>";
                        }
                        if ((cantidadExtras % 2 == 0) || (extras.IndexOf(extra) != extras.IndexOf(extras.Last()))) //Evita que se haga una nueva row al final de la tabla,
                        {
                            alimentos += "</tr><tr>";
                        }
                    }
                }
                alimentos += "</tr>";
            }
            return(alimentos);
        }
        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;
            }
        }
Пример #8
0
        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() : "";
        }
        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");
                }
            }
        }
Пример #10
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");
            }
        }
        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;
            }
        }
Пример #12
0
        protected void GridViewExtras_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            GridViewRow row     = GridViewExtras.Rows[Convert.ToInt32(e.CommandArgument)];
            int         idExtra = Convert.ToInt32((row.FindControl("lblIdExtra") as Label).Text);
            ExtraPedido extra   = carrito.FindExtra(idExtra);

            switch (e.CommandName)
            {
            case "Modificar":
                EliminarCbo();
                ViewState["IdExtra"] = idExtra;
                LlenarExtraFields(extra);
                SwitchTextBox(false);
                break;

            case "Eliminar":
                carrito.RemoveExtra(extra);
                CargarGridExtras(extra.IdAlimentoPedido.Value);
                LoadCboModalIngrediente(carrito.FindAlimento(extra.IdAlimentoPedido.Value));
                break;
            }
        }
Пример #13
0
 public void UpdateExtra(int index, ExtraPedido extra)
 {
     carritoExtras.Update(index, extra);
 }
Пример #14
0
 public void RemoveExtra(ExtraPedido eP)
 {
     listadoExtras.Remove(eP);
 }
Пример #15
0
 public void Update(int index, ExtraPedido extra)
 {
     listadoExtras[index] = extra;
 }
Пример #16
0
 public void RemoveExtra(ExtraPedido extra)
 {
     carritoExtras.RemoveExtra(extra);
 }
Пример #17
0
 public ExtraPedido AddExtra(ExtraPedido extra)
 {
     return(carritoExtras.AddExtra(extra));
 }
Пример #18
0
        public ExtraPedido Find(int id)
        {
            ExtraPedido m = nowBDEntities.ExtraPedido.FirstOrDefault(obj => obj.IdExtraPedido == id);

            return(m);
        }