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(); }
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)); }
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(); } } }
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)); }
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); } }
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()); }
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); }
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(); } }
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")); }
public static bool CreatePedidoP(ProductoPedido pedido) { return(DAPedido.CreatePedidoP(pedido)); }
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); }