public async Task <IActionResult> Edit(int id, [Bind("Id,CantidadProducto,ProductoId,PedidoId")] ProductoPedido productoPedido)
        {
            if (id != productoPedido.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(productoPedido);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductoPedidoExists(productoPedido.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PedidoId"]   = new SelectList(_context.Pedido, "Id", "Id", productoPedido.PedidoId);
            ViewData["ProductoId"] = new SelectList(_context.Producto, "Id", "Nombre", productoPedido.ProductoId);
            return(View(productoPedido));
        }
        public async Task ProductoPedidoDelete(Guid productoPedidoId)
        {
            ProductoPedido obj = await GetProductoPedidoBiId(productoPedidoId);

            _context.ProductoPedidos.Remove(obj);
            await _context.SaveChangesAsync();
        }
Esempio n. 3
0
        public ActionResult agregarProducto(ProductoPedido productopedido)
        {
            var pedidoview = Session["PedidoView"] as PedidoView;
            var productoid = int.Parse(Request["ProductoId"]);
            var producto   = db.Productoes.Find(productoid);

            productopedido = new ProductoPedido()
            {
                ProductoId          = producto.ProductoId,
                ProductoDescripcion = producto.ProductoDescripcion,
                ProductoPrecio      = producto.ProductoPrecio,
                Cantidad            = int.Parse(Request["Cantidad"]),
            };

            pedidoview.ProductosPedidos.Add(productopedido);


            var listaClientes = db.Clientes.ToList();

            ViewBag.ClienteId = new SelectList(listaClientes, "ClienteId", "ClienteRazonSocial");


            var listaProductos = db.Productoes.ToList();

            ViewBag.ProductoId = new SelectList(listaProductos, "ProductoId", "ProductoDescripcion");

            return(View("NuevoPedido", pedidoview));
        }
Esempio n. 4
0
        public IHttpActionResult getProducts(int id)
        {
            List <ProductoPedido> products = new List <ProductoPedido>();

            using (SqlConnection connection = DataBase.getConnection())
            {
                SqlCommand command = new SqlCommand("dbo.obtenerProductoPedido", connection);
                command.CommandType = CommandType.StoredProcedure;

                command.Parameters.AddWithValue("@idPedido", SqlDbType.Int).Value = id;

                try
                {
                    connection.Open();
                    SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        ProductoPedido product = new ProductoPedido();
                        product._nombre   = reader.GetString(0);
                        product._precio   = reader.GetDecimal(1);
                        product._cantidad = reader.GetInt32(2);
                        products.Add(product);
                    }
                    return(Json(products));
                }
                catch (SqlException ex) { return(Json(Constants.ERROR_CONNECTION_DATABSE)); }
                finally { connection.Close(); }
            }
        }
Esempio n. 5
0
        public HttpResponseMessage GetProductoPedido(int id_usuario, int id_pedido, int id_producto)
        {
            int user_id = int.Parse(User.Identity.Name);

            if (user_id == id_usuario)
            {
                ProductoPedido producto = Mapper.Map <ProductoPedido>(this.repo.GetProductoPedido(id_producto));
                return(Request.CreateResponse(HttpStatusCode.OK, producto));
            }
            return(Request.CreateResponse(HttpStatusCode.Unauthorized));
        }
        public async Task <IActionResult> crearReserva(int IdLocal, DateTime dia, string hora, string email, string password, int menu, int cantidad, string notas, int?mesa)
        {
            DateTime fecha = dia.Add(TimeSpan.Parse(hora));
            int      IdUsuario;

            if (HttpContext.Request.Cookies["user_id"] != null)
            {
                if (!Int32.TryParse(HttpContext.Request.Cookies["user_id"], out IdUsuario))
                {
                }
                ;
            }
            else
            {
                IdUsuario = _context.Usuario.Where(c => c.Correo.Equals(email) && c.Pw.Equals(password)).Select(c => c.Idusuario).SingleOrDefault();
            }
            if (mesa == 0)
            {
                mesa = null;
            }
            Reserva reservaRealizada = new Reserva
            {
                Idusuario = IdUsuario,
                Idlocal   = IdLocal,
                Idmesa    = mesa,
                Fecha     = fecha,
                Notas     = ""
            };

            _context.Add(reservaRealizada);
            await _context.SaveChangesAsync();

            Pedido pedidoRealizado = new Pedido
            {
                Idreserva = reservaRealizada.Idreserva,
                Cantidad  = cantidad,
                Notas     = ""
            };

            _context.Add(pedidoRealizado);
            await _context.SaveChangesAsync();

            ProductoPedido productoPedidoRealizado = new ProductoPedido
            {
                Idpedido   = pedidoRealizado.Idpedido,
                Idproducto = menu
            };

            _context.Add(productoPedidoRealizado);
            await _context.SaveChangesAsync();

            return(Json(true));
        }
 public JsonResult obtenerListadeProductosdePedido(int PidPedido)
 {
     if (Session[ID_USUARIO] == null)
     {
         return(Json(new { }, JsonRequestBehavior.AllowGet));
     }
     else
     {
         ProductoPedido productopedido = new ProductoPedido(PidPedido);
         List <object>  toReturn       = productopedido.obtenerIterativamente().ToList();
         return(Json(toReturn, JsonRequestBehavior.AllowGet));
     }
 }
        public async Task <IActionResult> Create([Bind("Id,CantidadProducto,ProductoId,PedidoId")] ProductoPedido productoPedido)
        {
            if (ModelState.IsValid)
            {
                _context.Add(productoPedido);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PedidoId"]   = new SelectList(_context.Pedido, "Id", "Id", productoPedido.PedidoId);
            ViewData["ProductoId"] = new SelectList(_context.Producto, "Id", "Nombre", productoPedido.ProductoId);
            return(View(productoPedido));
        }
Esempio n. 9
0
        public async Task <bool> InsertarProductoPedido(int idUsuario, int totalPedido, IList <ProductoPedidoModel> productoPedido)
        {
            try
            {
                Pedido nuevoPedido = new Pedido();
                nuevoPedido.Descripcion = "Pedido solicitado por cliente externo y creado por el administrador";
                nuevoPedido.Vigencia    = "1";
                nuevoPedido.Usuario     = idUsuario;
                await _context.Pedido.AddAsync(nuevoPedido);

                await _context.SaveChangesAsync();

                int idPedido = nuevoPedido.IdPedido;

                if (idPedido != null)
                {
                    foreach (var item in productoPedido)
                    {
                        ProductoPedido nuevoProductoPedido = new ProductoPedido();
                        nuevoProductoPedido.Pedido     = idPedido;
                        nuevoProductoPedido.Producto   = item.idProducto;
                        nuevoProductoPedido.Kilogramos = item.cantidad;
                        await _context.ProductoPedido.AddAsync(nuevoProductoPedido);
                    }
                    if (await _context.SaveChangesAsync() > 0 ? true : false)
                    {
                        ProcesoVenta nuevoProcesoVenta = new ProcesoVenta();
                        nuevoProcesoVenta.FechaInicio  = DateTime.Now;
                        nuevoProcesoVenta.FechaTermino = null;
                        nuevoProcesoVenta.TipoVenta    = 1;
                        nuevoProcesoVenta.Estado       = 1;
                        nuevoProcesoVenta.Pedido       = idPedido;
                        nuevoProcesoVenta.Total        = totalPedido;
                        await _context.ProcesoVenta.AddAsync(nuevoProcesoVenta);
                    }
                    return(await _context.SaveChangesAsync() > 0 ? true : false);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception) { return(false); }
        }
Esempio n. 10
0
        public ActionResult Eliminar(int id)
        {
            ProductoPedido prod = BuscarProducto(id);

            if (prod != null)
            {
                if (prod.Cantidad > 1)
                {
                    prod.Cantidad--;
                    prod.Total = prod.Producto.Precio * prod.Cantidad;
                }
                else
                {
                    SessionHelper.ProductosCarrito.Remove(prod);
                }
            }

            return(this.CarritoActualizado());
        }
Esempio n. 11
0
        public static bool CreatePedidoP(ProductoPedido pedido)
        {
            bool exito = false;

            try
            {
                using (var db = new ModelTiendaTecno())
                {
                    db.ProductoPedido.Add(pedido);
                    db.SaveChanges();
                    exito = true;
                }
            }
            catch (Exception)
            {
                exito = false;
            }

            return(exito);
        }
Esempio n. 12
0
        public void Guardar(Clases.Pedido pedido)
        {
            if (ValidarCuentaParaGuardado(pedido) && ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
            {
                pedido.FechaDeCreacion = DateTime.Now;
                IvaDAO ivaDAO = new IvaDAO();
                pedido.Iva         = ivaDAO.CargarIvaActual().Valor;
                pedido.PrecioTotal = CalcularPrecioTotal(pedido);
            }
            else
            {
                throw new ArgumentException("Pedido no tiene contenido");
            }

            AccesoADatos.Pedido pedidoAGuardar = ConvertirPedidoLogicaADatos(pedido);
            pedido.DescontarIngredientes();
            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
                {
                    if (cantidadAlimento is CantidadProducto cantidadProducto)
                    {
                        ProductoPedido productoPedido = new ProductoPedido();
                        productoPedido.Cantidad  = cantidadProducto.Cantidad;
                        productoPedido.Productos = context.Productos.Find(cantidadProducto.Alimento.Id);
                        pedidoAGuardar.ProductoPedido.Add(productoPedido);
                    }
                    else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                    {
                        PlatilloPedido platilloPedido = new PlatilloPedido();
                        platilloPedido.Cantidad = cantidadPlatillo.Cantidad;
                        platilloPedido.Platillo = context.Platillos.Find(cantidadPlatillo.Alimento.Id);
                        pedidoAGuardar.PlatilloPedidos.Add(platilloPedido);
                    }
                }

                pedidoAGuardar.Cuenta = context.Cuentas.Find(pedido.Cuenta.Id);
                context.Pedidos.Add(pedidoAGuardar);
                context.SaveChanges();
            }
        }
Esempio n. 13
0
        public ActionResult Agregar(int id)
        {
            ProductoPedido producto = this.BuscarProducto(id);

            if (producto != null)
            {
                producto.Cantidad++;
                producto.Total = producto.Cantidad * producto.Producto.Precio;
            }
            else
            {
                Producto       productoObject = RNProduct.BuscarProducto(id);
                ProductoPedido nuevoProducto  = new ProductoPedido
                {
                    Producto = productoObject,
                    Cantidad = 1,
                    Total    = productoObject.Precio
                };
                SessionHelper.ProductosCarrito.Add(nuevoProducto);
            }
            return(this.CarritoActualizado());
        }
        public ActionResult comprar(CarritoCompra cc)
        {
            Pedido pedido = new Pedido();

            pedido.Nombre = User.Identity.Name;
            db.Pedidos.Add(pedido);
            db.SaveChanges();

            Dictionary <int, int> typeIdAmount = new Dictionary <int, int>();

            for (int i = 0; i < cc.Count; i++)
            {
                Producto producto = cc[i];
                try
                {
                    int newAmount = typeIdAmount[producto.Id] + 1;
                    typeIdAmount[producto.Id] = newAmount;
                }
                catch (Exception e)
                {
                    typeIdAmount.Add(producto.Id, 1);
                }
            }
            CarritoCompra carritoToShow = new CarritoCompra();

            foreach (KeyValuePair <int, int> idAmount in typeIdAmount)
            {
                ProductoPedido productoPedido = new ProductoPedido();
                productoPedido.IdPedido   = pedido.Id;
                productoPedido.IdProducto = idAmount.Key;
                productoPedido.Cantidad   = idAmount.Value;
                db.ProductoPedidoSet.Add(productoPedido);
                db.SaveChanges();
            }
            cc.Clear();
            return(RedirectToAction("Index", "Home"));
        }
Esempio n. 15
0
 public static bool CreatePedidoP(ProductoPedido pedido)
 {
     return(DAPedido.CreatePedidoP(pedido));
 }
Esempio n. 16
0
        public void CrearCuentaConPedidos(Clases.Cuenta cuenta)
        {
            var cuentaDb = new AccesoADatos.Cuenta()
            {
                Estado = (short)EstadoCuenta.Abierta
            };

            using (ModeloDeDatosContainer context = new ModeloDeDatosContainer())
            {
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                foreach (Clases.Cliente cliente in cuenta.Clientes)
                {
                    if (cliente.Id > 0)
                    {
                        cuentaDb.Clientes.Add(context.Clientes.Find(cliente.Id));
                    }
                    else
                    {
                        cuentaDb.Clientes.Add(new Cliente
                        {
                            Telefono          = cliente.Telefono,
                            Nombre            = cliente.Nombre,
                            FechaDeCreacion   = DateTime.Now,
                            FechaDeModicacion = DateTime.Now,
                            NombreCreador     = cliente.NombreDelCreador,
                            Comentarios       = cliente.Comentario,
                            Activo            = true
                        });
                    }
                }
                foreach (Clases.Pedido pedido in cuenta.Pedidos)
                {
                    PedidoDAO pedidoDAO = new PedidoDAO();
                    if (pedidoDAO.ValidarCuentaParaGuardado(pedido) && pedidoDAO.ValidarCantidadDeCantidadAlimentos(pedido.CantidadAlimentos))
                    {
                        pedido.FechaDeCreacion = DateTime.Now;
                        IvaDAO ivaDAO = new IvaDAO();
                        pedido.Iva = ivaDAO.CargarIvaActual().Valor;
                        pedido.CalcularPrecioTotal();
                        pedido.Estado = EstadoPedido.EnEspera;
                    }
                    else
                    {
                        throw new ArgumentException("Pedido no tiene contenido o no ");
                    }

                    AccesoADatos.Pedido pedidoAGuardar = pedidoDAO.ConvertirPedidoLogicaADatos(pedido);
                    foreach (CantidadAlimento cantidadAlimento in pedido.CantidadAlimentos)
                    {
                        if (cantidadAlimento is CantidadProducto cantidadProducto)
                        {
                            ProductoPedido productoPedido = new ProductoPedido();
                            productoPedido.Cantidad  = cantidadProducto.Cantidad;
                            productoPedido.Productos = context.Productos.Find(cantidadProducto.Alimento.Id);
                            pedidoAGuardar.ProductoPedido.Add(productoPedido);
                        }
                        else if (cantidadAlimento is CantidadPlatillo cantidadPlatillo)
                        {
                            PlatilloPedido platilloPedido = new PlatilloPedido();
                            platilloPedido.Cantidad = cantidadPlatillo.Cantidad;
                            platilloPedido.Platillo = context.Platillos.Find(cantidadPlatillo.Alimento.Id);
                            pedidoAGuardar.PlatilloPedidos.Add(platilloPedido);
                        }
                    }

                    pedidoAGuardar.Cuenta = context.Cuentas.Find(pedido.Cuenta.Id);
                    cuentaDb.Pedidos.Add(pedidoAGuardar);
                }
                if (cuenta.Mesa != null)
                {
                    cuentaDb.Mesa        = context.Mesas.Find(cuenta.Mesa.NumeroDeMesa);
                    cuentaDb.Mesa.Estado = (short)EstadoMesa.Ocupada;
                }
                cuentaDb.Empleado = context.Empleados.Find(cuenta.Empleado.Id);
                context.Cuentas.Add(cuentaDb);
                context.SaveChanges();
            }
        }
 public async Task UpdateProductoPedido(ProductoPedido productoPedido)
 {
     _context.ProductoPedidos.Update(productoPedido);
 }
 public async Task Insert(ProductoPedido productoPedido)
 {
     await _context.ProductoPedidos.AddAsync(productoPedido);
 }
        public async Task <ProductoPedido> GetProductoPedidoBiId(Guid productoPedidoId)
        {
            ProductoPedido obj = await _context.ProductoPedidos.Where(o => o.Id == productoPedidoId).FirstOrDefaultAsync();

            return(obj);
        }