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()); }
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()); } }
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)); }
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")); }
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); }
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)); }
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); }
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)); }
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)); }
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)); }
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)); }
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)); }
// 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"); } } }
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"); } }
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"); } } }
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)); }
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)); }
public ActionResult PedidoProductoEliminar(PedidoProducto pedidoProducto) { string respuesta = lnPedidoProducto.PedidoProductoEliminar(pedidoProducto); return(RedirectToAction("PedidoEditar", "Pedido", new { IdPedido = pedidoProducto.IdPedido, mensajeError = "" })); }
public string PedidoProductoEliminar(PedidoProducto pedidoProducto) { return(adPedidoProducto.PedidoProductoEliminar(pedidoProducto)); }
public string PedidoProductoCrear(PedidoProducto pedidoProducto) { return(adPedidoProducto.PedidoProductoCrear(pedidoProducto)); }