public void AdicionarCantidadAlArticuloDelPedido(PedidoArticulo pedidoArticulo) { PedidoArticulo articuloAActualizarCantidad = _pedidosPW3Context.PedidoArticulos.Where(p => p.IdPedido == pedidoArticulo.IdPedido && p.IdArticulo == pedidoArticulo.IdArticulo).FirstOrDefault(); articuloAActualizarCantidad.Cantidad += pedidoArticulo.Cantidad; _pedidosPW3Context.SaveChanges(); }
public void AgregarArticuloYCantidadAlPedido(PedidoArticulo pedidoArticulo) { bool articuloYaExiste = _pedidosRepository.ValidarExistenciaDeArticuloEnPedido(pedidoArticulo); if (articuloYaExiste) { _pedidosRepository.AdicionarCantidadAlArticuloDelPedido(pedidoArticulo); } else { _pedidosRepository.AgregarArticuloYCantidadAlPedido(pedidoArticulo); } Pedido pedidoAActualizar = _pedidosRepository.ObtenerPorId(pedidoArticulo.IdPedido); base.Actualizar(pedidoAActualizar); }
public IActionResult AgregarPedido(Pedido pedido, PedidoArticulo pedidoArticulo) // TODO: ¿Puedo hacer esto, o conviene un ViewModel? { if (!ModelState.IsValid) { TempData["toastr_error"] = "No ha ingresado correctamente la información del pedido !"; return(View()); } try { int idPedidoInsertado = _pedidosService.Insertar(pedido); pedidoArticulo.IdPedido = idPedidoInsertado; _pedidosService.AgregarArticuloYCantidadAlPedido(pedidoArticulo); TempData["toastr_success"] = $"Se ha creado exitosamente el pedido !"; return(RedirectToAction("EditarPedido", new { id = idPedidoInsertado })); } catch (PedidoException e) { TempData["toastr_error"] = e.Message; return(RedirectToAction("AgregarPedido")); } }
public bool ValidarExistenciaDeArticuloEnPedido(PedidoArticulo pedidoArticulo) { bool articuloYaExiste = _pedidosPW3Context.PedidoArticulos.Where(p => p.IdPedido == pedidoArticulo.IdPedido && p.IdArticulo == pedidoArticulo.IdArticulo).Count() > 0; return(articuloYaExiste); }
public void AgregarArticuloYCantidadAlPedido(PedidoArticulo pedidoArticulo) { _pedidosPW3Context.Add(pedidoArticulo); _pedidosPW3Context.SaveChanges(); }