public async Task <IActionResult> PutPedidoProducto(int id, PedidoProducto pedidoProducto)
        {
            if (id != pedidoProducto.Id)
            {
                return(BadRequest());
            }

            _context.Entry(pedidoProducto).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PedidoProductoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 2
0
        public ActionResult PedidoProductoCrear(PedidoProducto pedidoProducto)
        {
            if (ModelState.IsValid)
            {
                string   respuesta = "";
                Producto producto  = lnProducto.ProductoLeer(pedidoProducto.IdProducto).First();
                pedidoProducto.UnidadMedida       = producto.UnidadMedida;
                pedidoProducto.PrecioUnidadMedida = producto.PrecioUnidadMedida;
                pedidoProducto.UnidadCompra       = producto.UnidadCompra;
                pedidoProducto.PrecioUnidadCompra = producto.PrecioUnidadCompra;
                pedidoProducto.CantidadEntregada  = 0;
                pedidoProducto.CreadoPor          = Session["Usuario"].ToString();
                pedidoProducto.FechaCreacion      = DateTime.Now;

                respuesta = lnPedidoProducto.PedidoProductoCrear(pedidoProducto);

                ViewBag.ListaProducto = util.DropDownProducto();
                if (respuesta == "")
                {
                    return(RedirectToAction("PedidoEditar", "Pedido", new { IdPedido = pedidoProducto.IdPedido }));
                }
                else
                {
                    return(RedirectToAction("PedidoProductoCrear", "PedidoProducto", new { pedidoProducto = pedidoProducto, mensajeError = respuesta }));
                }
            }
            else
            {
                ViewBag.IdPedido      = pedidoProducto.IdPedido;
                ViewBag.ListaProducto = util.DropDownProducto();
                return(View());
            }
        }
Esempio n. 3
0
        public ResultadoOperacionEnum.ResultadoOperacion CambiarProductosDePedido(int pedido, List <DataAccess.PedidoProducto> productos)
        {
            ResultadoOperacionEnum.ResultadoOperacion resultado = ResultadoOperacionEnum.ResultadoOperacion.FallaDesconocida;
            using (var context = new PizzaEntities())
            {
                try
                {
                    var tempPedido = context.Pedido.Where(b => b.idPedido == pedido).FirstOrDefault();
                    for (int i = 0; i < tempPedido.PedidoProducto.Count; i++)
                    {
                        context.PedidoProducto.Remove(context.PedidoProducto.Where(b => b.idPedido == tempPedido.idPedido).First()); //Buscar otra forma de hacerlo
                    }
                    foreach (var producto in productos)
                    {
                        PedidoProducto tempPedidoProducto = new PedidoProducto()
                        {
                            Precio          = producto.Precio,
                            idPedido        = producto.idPedido,
                            Cantidad        = producto.Cantidad,
                            idProductoVenta = producto.ProductoVenta.idProductoVenta
                        };
                        context.PedidoProducto.Add(tempPedidoProducto);
                    }
                    context.SaveChanges();

                    resultado = ResultadoOperacionEnum.ResultadoOperacion.Exito;
                }
                catch (EntityException)
                {
                    resultado = ResultadoOperacionEnum.ResultadoOperacion.FalloSQL;
                }
            }
            return(resultado);
        }
        public async Task <ActionResult <PedidoProducto> > PostPedidoProducto(PedidoProducto pedidoProducto)
        {
            _context.PedidosProductos.Add(pedidoProducto);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPedidoProducto", new { id = pedidoProducto.Id }, pedidoProducto));
        }
Esempio n. 5
0
        public string PedidoProductoCrear(PedidoProducto pedidoProducto)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_PedidoProductoCrear";
                cmd.Connection  = cnn.cn;
                cnn.Conectar();
                cmd.Parameters.AddWithValue("pIdPedido", pedidoProducto.IdPedido);
                cmd.Parameters.AddWithValue("pIdProducto", pedidoProducto.IdProducto);
                cmd.Parameters.AddWithValue("pCantidad", pedidoProducto.Cantidad);
                cmd.Parameters.AddWithValue("pUnidadMedida", pedidoProducto.UnidadMedida);
                cmd.Parameters.AddWithValue("pPrecioUnidadMedida", pedidoProducto.PrecioUnidadMedida);
                cmd.Parameters.AddWithValue("pUnidadCompra", pedidoProducto.UnidadCompra);
                cmd.Parameters.AddWithValue("pPrecioUnidadCompra", pedidoProducto.PrecioUnidadCompra);
                cmd.Parameters.AddWithValue("pCantidadEntregada", pedidoProducto.CantidadEntregada);
                cmd.Parameters.AddWithValue("pCreadoPor", pedidoProducto.CreadoPor);
                cmd.Parameters.AddWithValue("pFechaCreacion", pedidoProducto.FechaCreacion);

                cmd.ExecuteNonQuery();
                cnn.Desconectar();

                return("");
            }
            catch (MySqlException ex)
            {
                cnn.Desconectar();
                return("Error al crear el pedido producto");
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            PedidoProducto pedidoProducto = db.PedidoProductos.Find(id);

            db.PedidoProductos.Remove(pedidoProducto);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 7
0
        public OrderProductDto DeleteProductForOrder(int orderProductId)
        {
            PedidoProducto  pedidoProducto  = _galaxyTallerContext.PedidoProducto.Where(w => w.PedidoProductoId == orderProductId).FirstOrDefault();
            OrderProductDto orderProductDto = GetProductForOrder(orderProductId);

            _galaxyTallerContext.PedidoProducto.Remove(pedidoProducto);
            _galaxyTallerContext.SaveChanges();

            return(orderProductDto);
        }
Esempio n. 8
0
        public OrderProductDto UpdateProductForOrder(OrderProductUpdateDto orderProductUpdateDto)
        {
            PedidoProducto pedidoProducto = _galaxyTallerContext.PedidoProducto.Where(w => w.PedidoProductoId == orderProductUpdateDto.OrderProductId).FirstOrDefault();

            pedidoProducto.Cantidad = orderProductUpdateDto.Quantity;
            _galaxyTallerContext.PedidoProducto.Update(pedidoProducto);
            _galaxyTallerContext.SaveChanges();

            return(GetProductForOrder(pedidoProducto.PedidoProductoId));
        }
Esempio n. 9
0
        public List <PedidoProducto> PedidoProductoLeer(int IdPedido)
        {
            List <PedidoProducto> pedidoProductos = new List <PedidoProducto>();

            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_PedidoProductoLeer";
                cmd.Connection  = cnn.cn;
                cnn.Conectar();
                cmd.Parameters.AddWithValue("pIdPedido", IdPedido);

                cmd.ExecuteNonQuery();

                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataTable        dt = new DataTable();

                da.Fill(dt);

                for (int n = 0; n < dt.Rows.Count; n++)
                {
                    PedidoProducto pedidoProducto = new PedidoProducto();
                    pedidoProducto.IdPedidoProducto   = Funciones.ToInt(dt.Rows[n]["IdPedidoProducto"]);
                    pedidoProducto.IdPedido           = Funciones.ToInt(dt.Rows[n]["IdPedido"]);
                    pedidoProducto.IdProducto         = Funciones.ToInt(dt.Rows[n]["IdProducto"]);
                    pedidoProducto.Nombre             = Funciones.ToString(dt.Rows[n]["Nombre"]);
                    pedidoProducto.Cantidad           = Funciones.ToDecimal(dt.Rows[n]["Cantidad"]);
                    pedidoProducto.UnidadMedida       = Funciones.ToString(dt.Rows[n]["UnidadMedida"]);
                    pedidoProducto.PrecioUnidadMedida = Funciones.ToDecimal(dt.Rows[n]["PrecioUnidadMedida"]);
                    pedidoProducto.UnidadCompra       = Funciones.ToString(dt.Rows[n]["UnidadCompra"]);
                    pedidoProducto.PrecioUnidadCompra = Funciones.ToDecimal(dt.Rows[n]["PrecioUnidadCompra"]);
                    pedidoProducto.CantidadEntregada  = Funciones.ToDecimal(dt.Rows[n]["CantidadEntregada"]);
                    pedidoProducto.CreadoPor          = Funciones.ToString(dt.Rows[n]["CreadoPor"]);
                    pedidoProducto.FechaCreacion      = Funciones.ToDateTime(dt.Rows[n]["FechaCreacion"]);
                    pedidoProducto.ModificadoPor      = Funciones.ToString(dt.Rows[n]["ModificadoPor"]);
                    pedidoProducto.FechaModificacion  = Funciones.ToDateTime(dt.Rows[n]["FechaModificacion"]);


                    pedidoProductos.Add(pedidoProducto);
                }
            }
            catch (MySqlException ex)
            {
                cnn.Desconectar();
            }
            try
            {
                cnn.Desconectar();
            }
            catch (Exception ex) { }

            return(pedidoProductos);
        }
Esempio n. 10
0
 public ActionResult Edit(PedidoProducto PedidoProducto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(PedidoProducto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Edit", "Pedidos", new { @id = PedidoProducto.PedidoId }));
     }
     ViewBag.ProductoId = new SelectList(db.Producto, "Id", "Nome", PedidoProducto.ProductoId);
     return(View(PedidoProducto));
 }
        public ActionResult Create([Bind(Include = "Token, Pedido")] OrdenCompraViewModel orden)
        {
            orden.Pedido.ProductosPedido = new List <PedidoProducto>();
            ICollection <ValidationResult> resultado = new List <ValidationResult>(); // Will contain the results of the validation

            List <GestionProductoPedidoViewModel> productos = AppViewModel.PedidosEnProceso[orden.Token];

            if (productos != null)
            {
                foreach (var item in productos)
                {
                    PedidoProducto objeto = new PedidoProducto();
                    objeto.Pedido        = orden.Pedido;
                    objeto.Pedido.ID     = orden.Pedido.ID;
                    objeto.Producto      = db.Productos.Find(item.Id);
                    objeto.ProductoId    = objeto.Producto.ID;
                    objeto.ValorUnitario = item.ValorUnitario;
                    objeto.Cantidad      = item.Cantidad;

                    ValidationContext vc = new ValidationContext(objeto);
                    bool isValid         = Validator.TryValidateObject(objeto, vc, resultado, true);


                    if (!isValid)
                    {
                        var    precios    = db.ProductoValores.Where(x => x.ProductoId == objeto.ProductoId).First();
                        string validacion = string.Format("El precio de {0} debe estar entre {1} y {2}", objeto.Producto.Descripcion, precios.ValorMinimo, precios.ValorMaximo);
                        ModelState.AddModelError("", validacion);
                    }
                    orden.Pedido.ProductosPedido.Add(objeto);
                }
            }
            if (ModelState.IsValid)
            {
                if (productos != null)
                {
                    AppViewModel.PedidosEnProceso.Remove(orden.Token);
                }
                orden.Pedido.EstadoPedido = EstadoPedido.Creado;
                db.Pedidos.Add(orden.Pedido);
                foreach (var i in orden.Pedido.ProductosPedido)
                {
                    db.PedidoProductos.Add(i);
                }
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            orden.SetearBases(db);

            return(View(orden));
        }
 public ActionResult Edit([Bind(Include = "PedidoId,ProductoId,ValorUnitario,Cantidad")] PedidoProducto pedidoProducto)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoProducto).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PedidoId   = new SelectList(db.Pedidos, "ID", "ID", pedidoProducto.PedidoId);
     ViewBag.ProductoId = new SelectList(db.Productos, "ID", "Descripcion", pedidoProducto.ProductoId);
     return(View(pedidoProducto));
 }
Esempio n. 13
0
        public ActionResult SetPedidoProducto(PedidoProducto pedProd)
        {
            var pedido = new Pedido();
            var listProductosPedido = new List <PedidoProducto>();

            if (User.Identity.IsAuthenticated)
            {
                var userId = User.Identity.GetUserId();
                pedido = db.Pedidoes.FirstOrDefault(_ => _.UsuarioId == userId && _.Estado == EstadoPedido.Creado);
                if (pedido == null)
                {
                    pedido = new Pedido(userId);
                }

                var     prodoriginal = db.Productoes.FirstOrDefault(_ => _.Id == pedProd.ProductoId);
                decimal totParcial   = pedProd.Cantidad * prodoriginal.PrecioActual;
                listProductosPedido = db.PedidosProductos.Include(s => s.Producto).Where(_ => _.PedidoId == pedido.Id).ToList();
                var prodRepetido = listProductosPedido.FirstOrDefault(_ => _.ProductoId == pedProd.ProductoId);
                if (prodRepetido != null)
                {
                    prodRepetido.Cantidad       += pedProd.Cantidad;
                    prodRepetido.TotalParcial    = prodRepetido.Cantidad * prodoriginal.PrecioActual;
                    db.Entry(prodRepetido).State = EntityState.Modified;
                    prodRepetido.Modified        = DateTime.Now;
                }
                else
                {
                    listProductosPedido.Add(pedProd);
                    pedProd.PedidoId     = pedido.Id;
                    pedProd.TotalParcial = totParcial;
                    db.PedidosProductos.Add(pedProd);
                }
                pedido.TotalCharge += totParcial;

                if (db.Entry(pedido).State == EntityState.Detached)
                {
                    pedido.Created = DateTime.Now;
                    db.Pedidoes.Add(pedido);
                    db.SaveChanges();
                }
                else
                {
                    db.Entry(pedido).State = EntityState.Modified;
                    pedido.Modified        = DateTime.Now;
                    db.SaveChanges();
                }

                pedido.ProductosPedidos.AddRange(listProductosPedido);
            }

            return(this.PartialView("_Carrito", pedido));
        }
Esempio n. 14
0
        public ActionResult Create([Bind(Include = "PedidoId,ProductoId,Fecha_Modificacion,Cantidad,Precio,Status")] PedidoProducto PedidoProducto)
        {
            if (ModelState.IsValid)
            {
                db.PedidoProducto.Add(PedidoProducto);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.PedidoId   = new SelectList(db.Pedido, "Id", "Id", PedidoProducto.PedidoId);
            ViewBag.ProductoId = new SelectList(db.Producto, "Id", "Nome", PedidoProducto.ProductoId);
            return(View(PedidoProducto));
        }
        // GET: PedidoProductos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PedidoProducto pedidoProducto = db.PedidoProductos.Find(id);

            if (pedidoProducto == null)
            {
                return(HttpNotFound());
            }
            return(View(pedidoProducto));
        }
Esempio n. 16
0
        public OrderProductDto CreateProductForOrder(OrderProductCreateDto orderProductCreateDto)
        {
            PedidoProducto pedidoProducto = new PedidoProducto
            {
                PedidoId   = orderProductCreateDto.OrderId,
                ProductoId = orderProductCreateDto.ProductId,
                Cantidad   = orderProductCreateDto.Quantity
            };

            _galaxyTallerContext.PedidoProducto.Add(pedidoProducto);
            _galaxyTallerContext.SaveChanges();

            return(GetProductForOrder(pedidoProducto.PedidoProductoId));
        }
Esempio n. 17
0
        public IActionResult Post([FromBody] PedidoDto dto)
        {
            // Consulta los id de producto enviados por el frontend
            var     products = _context.Producto.Where(x => dto.ListaProductos.Select(s => s.IdProducto).Contains(x.Id));
            decimal total    = 0;

            // Calcula el valor total del pedido multiplicando el precio de cada producto por su cantidad y sumandolo
            foreach (var producto in products)
            {
                var cantidad = dto.ListaProductos.First(x => x.IdProducto == producto.Id).Cantidad;
                total += cantidad * producto.Precio;
            }

            var pedido = new Pedido
            {
                IdCliente  = dto.IdCliente,
                IdUsuario  = dto.IdUsuario,
                ValorTotal = total,
                CreatedOn  = DateTime.Now
            };

            var result = _context.Pedido.Add(pedido);

            _context.SaveChanges();

            foreach (var item in dto.ListaProductos)
            {
                Producto producto = _context.Producto.First(x => x.Id == item.IdProducto);

                producto.Stock -= item.Cantidad;
                _context.Producto.Attach(producto);
                _context.Entry(producto).State = EntityState.Modified;
                _context.SaveChanges();

                var productItem = new PedidoProducto
                {
                    IdPedido   = result.Entity.Id,
                    IdProducto = item.IdProducto,
                    Cantidad   = item.Cantidad,
                    ValorTotal = item.Cantidad * producto.Precio
                };

                _context.PedidoProducto.Add(productItem);
                _context.SaveChanges();
            }

            return(Created("", result.Entity));
        }
        // GET: PedidoProductos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PedidoProducto pedidoProducto = db.PedidoProductos.Find(id);

            if (pedidoProducto == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PedidoId   = new SelectList(db.Pedidos, "ID", "ID", pedidoProducto.PedidoId);
            ViewBag.ProductoId = new SelectList(db.Productos, "ID", "Descripcion", pedidoProducto.ProductoId);
            return(View(pedidoProducto));
        }
Esempio n. 19
0
        // GET: PedidoProductos/Edit/5
        public ActionResult Edit(int?idPedido, int?idProducto)
        {
            if (idPedido == null || idProducto == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PedidoProducto pedidoProducto = db.PedidoProducto.Where(pp => pp.PedidoId == (int)idPedido &&
                                                                    pp.ProductoId == (int)idProducto).FirstOrDefault();

            if (pedidoProducto == null)
            {
                return(HttpNotFound());
            }

            ViewBag.ProductoId = new SelectList(db.Producto, "Id", "Nome", String.Empty);

            return(View(pedidoProducto));
        }
        private void btn_NuevoPedido_Click(object sender, RoutedEventArgs e)
        {
            if (ValidarCampos())
            {
                DataAccess.Pedido pedido = new DataAccess.Pedido();
                pedido.FechaPedido = DateTime.UtcNow;
                pedido.Estatus     = 2;
                BusinessLogic.Cliente cliente1 = clientes[cbb_NombreCliente.SelectedIndex];
                //string cliente = cbb_NombreCliente.SelectedIndex;
                pedido.Cliente = cliente1.idPersona;

                foreach (BusinessLogic.ProductoVenta producto in productoVentas)
                {
                    if (dgProductosDePedido.Items != null)
                    {
                        foreach (BusinessLogic.ProductoVenta pedido1 in dgProductosDePedido.Items)
                        {
                            DataAccess.PedidoProducto pedidoProducto = new PedidoProducto();
                            pedidoProducto.idProductoVenta = pedido1.idProducto;
                            pedidoProducto.Precio          = pedido1.PrecioPúblico;
                            listaproductos.Add(pedidoProducto);
                        }
                    }
                }



                PedidoController pedidoController = new PedidoController();
                if (pedidoController.crearPedidoDomicilio(pedido, listaproductos) == ResultadoOperacionEnum.ResultadoOperacion.Exito)
                {
                    MessageBox.Show("El Pedido se registró correctamente");
                    listaproductos.Clear();
                    ActualizarDataGrid();
                    lbNuevoPrecio.Text = "";
                }
                else
                {
                    MessageBox.Show("No se puede registar el Pedido");
                }
            }
        }
Esempio n. 21
0
        public string PedidoProductoEliminar(PedidoProducto pedidoProducto)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "sp_PedidoProductoEliminar";
                cmd.Connection  = cnn.cn;
                cnn.Conectar();
                cmd.Parameters.AddWithValue("pIdPedido", pedidoProducto.IdPedido);
                cmd.Parameters.AddWithValue("pIdPedidoProducto", pedidoProducto.IdPedidoProducto);

                cmd.ExecuteNonQuery();
                cnn.Desconectar();

                return("");
            }
            catch (MySqlException ex)
            {
                cnn.Desconectar();
                return("Error al eliminar el pedido producto");
            }
        }
Esempio n. 22
0
        private void btn_NuevoPedido_Click(object sender, RoutedEventArgs e)
        {
            if (valdiarCampos())
            {
                DataAccess.Pedido pedido = new DataAccess.Pedido();
                pedido.FechaPedido = DateTime.UtcNow;
                pedido.Estatus     = 2;
                pedido.NumeroMesa  = (int)cbb_mesas.SelectedItem;

                foreach (BusinessLogic.ProductoVenta producto in productoVentas)
                {
                    if (dgProductosDePedido.Items != null)
                    {
                        foreach (BusinessLogic.ProductoVenta pedido1 in dgProductosDePedido.Items)
                        {
                            DataAccess.PedidoProducto pedidoProducto = new PedidoProducto();
                            pedidoProducto.idProductoVenta = pedido1.idProducto;
                            pedidoProducto.Precio          = pedido1.PrecioPúblico;
                            listaproductos.Add(pedidoProducto);
                        }
                    }
                }

                PedidoController pedidoController = new PedidoController();
                if (pedidoController.crearPedidoMesero(pedido, listaproductos) == ResultadoOperacionEnum.ResultadoOperacion.Exito)
                {
                    MessageBox.Show("El Pedido se registró correctamente");
                    listaproductos.Clear();
                    ActualizarDataGrid();
                    lbNuevoPrecio.Text = "";
                }
                else
                {
                    MessageBox.Show("No se puede registar el Pedido");
                }
            }
        }
Esempio n. 23
0
        public IActionResult Put(PedidoDto dto)
        {
            decimal total = 0;
            // Consulta los id de producto enviados por el frontend
            var products = _context.Producto.Where(x => dto.ListaProductos.Select(s => s.IdProducto).Contains(x.Id));

            // Calcula el valor total del pedido multiplicando el precio de cada producto por su cantidad y sumandolo
            foreach (var producto in products)
            {
                var cantidad = dto.ListaProductos.First(x => x.IdProducto == producto.Id).Cantidad;
                total += cantidad * producto.Precio;
            }

            var pedido = new Pedido
            {
                Id         = dto.Id,
                IdCliente  = dto.IdCliente,
                IdUsuario  = dto.IdUsuario,
                ValorTotal = total,
            };

            var result = _context.Pedido.Attach(pedido);

            _context.Entry(pedido).State = EntityState.Modified;
            _context.SaveChanges();

            var productItems = _context.PedidoProducto.Where(x => x.IdPedido == pedido.Id);

            foreach (var productItem in productItems)
            {
                if (!dto.ListaProductos.Any(x => x.IdProducto == productItem.IdProducto))
                {
                    using (MisPollosContext context = new MisPollosContext())
                    {
                        Producto product = context.Producto.First(x => x.Id == productItem.IdProducto);
                        product.Stock += productItem.Cantidad;
                        context.SaveChanges();
                    }
                    _context.PedidoProducto.Remove(productItem);
                }
            }
            _context.SaveChanges();

            foreach (var item in dto.ListaProductos)
            {
                Producto producto = _context.Producto.First(x => x.Id == item.IdProducto);
                var      cantidad = productItems.FirstOrDefault(x => x.IdProducto == item.IdProducto)?.Cantidad ?? 0;
                //                   5            10
                producto.Stock += cantidad - item.Cantidad;
                //                   10            5
                _context.Producto.Attach(producto);
                _context.Entry(producto).State = EntityState.Modified;
                _context.SaveChanges();

                var pedidoProducto = productItems.FirstOrDefault(x => x.IdProducto == item.IdProducto);
                if (pedidoProducto == null)
                {
                    pedidoProducto = new PedidoProducto
                    {
                        IdPedido   = pedido.Id,
                        IdProducto = item.IdProducto,
                        Cantidad   = item.Cantidad,
                        ValorTotal = item.Cantidad * producto.Precio
                    };

                    _context.PedidoProducto.Add(pedidoProducto);
                    _context.SaveChanges();
                }
                else
                {
                    pedidoProducto.Cantidad = item.Cantidad;
                    _context.PedidoProducto.Attach(pedidoProducto);
                    _context.Entry(pedidoProducto).State = EntityState.Modified;
                    _context.SaveChanges();
                }
            }

            return(Ok(result.Entity));
        }
Esempio n. 24
0
        public ActionResult AgregarProducto(PedidoProducto pedidoProducto)
        {
            var vistPedido = Session["orderView"] as VistaPedido;

            var productoId = int.Parse(Request["ProductoId"]);

            if (productoId == 0)
            {
                var list = db.Productos.ToList();
                list.Add(new PedidoProducto {
                    ProductoId = 0, Descripcion = "[Seleccione un producto...]"
                });
                list = list.OrderBy(p => p.Nombre).ToList();
                ViewBag.ProductoId = new SelectList(list, "ProductoId", "Nombre");
                ViewBag.Error      = "Debe seleccionar un producto";
                return(View(pedidoProducto));
            }

            var producto = db.Productos.Find(productoId);

            if (producto == null)
            {
                var list = db.Productos.ToList();
                list.Add(new PedidoProducto {
                    ProductoId = 0, Nombre = "[Seleccione un producto...]"
                });
                list = list.OrderBy(p => p.Nombre).ToList();
                ViewBag.ProductoId = new SelectList(list, "ProductoId", "Nombre");
                ViewBag.Error      = "El producto no existe";
                return(View(pedidoProducto));
            }

            pedidoProducto = vistPedido.Productos.Find(p => p.ProductoId == productoId);

            if (pedidoProducto == null)
            {
                pedidoProducto = new PedidoProducto
                {
                    Descripcion = producto.Descripcion,
                    Precio      = producto.Precio,
                    ProductoId  = producto.ProductoId,
                    Cantidad    = int.Parse(Request["Cantidad"])
                };
                vistPedido.Productos.Add(pedidoProducto);
            }
            else
            {
                pedidoProducto.Cantidad += int.Parse(Request["Cantidad"]);
            }


            var listC = db.Clientes.ToList();

            listC.Add(new Cliente {
                ClienteId = 0, Nombres = "[Seleccione un cliente...]"
            });
            listC             = listC.OrderBy(c => c.NombreCompleto).ToList();
            ViewBag.ClienteId = new SelectList(listC, "ClienteId", "NombreCompleto");

            return(View("NuevoPedido", vistPedido));
        }
Esempio n. 25
0
        public ActionResult PedidoProductoEliminar(PedidoProducto pedidoProducto)
        {
            string respuesta = lnPedidoProducto.PedidoProductoEliminar(pedidoProducto);

            return(RedirectToAction("PedidoEditar", "Pedido", new { IdPedido = pedidoProducto.IdPedido, mensajeError = "" }));
        }
Esempio n. 26
0
 public string PedidoProductoEliminar(PedidoProducto pedidoProducto)
 {
     return(adPedidoProducto.PedidoProductoEliminar(pedidoProducto));
 }
Esempio n. 27
0
 public string PedidoProductoCrear(PedidoProducto pedidoProducto)
 {
     return(adPedidoProducto.PedidoProductoCrear(pedidoProducto));
 }