private void AgregarAlCarrito(string idProducto, decimal precio, int stockProducto, int cantidad) { transaccion.Estado = EntityState.Agregado; transaccion.NumTransaccion = lblNumTransaccion.Content.ToString(); transaccion.IdProducto = idProducto; transaccion.Precio = precio; transaccion.Cantidad = 1; transaccion.Fecha = DateTime.Now; transaccion.Cajero = UserCache.Username; bool validar = new Helps.DataValidation(transaccion).Validar(); transaccion.Cantidad = cantidad; //Comprobar si la cantidad pedida esta disponible en actualmente if (stockProducto < transaccion.Cantidad) { MessageBox.Show($"Incapaz de proceder, la cantidad en stock actual es: {stockProducto}", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning); return; } //Comprobar si el producto ya se encuentra registrado var productoDuplicado = transaccion.ComprobarProductosDuplicados(transaccion.NumTransaccion, transaccion.IdProducto); if (productoDuplicado.Count > 0) { //Actualizar la cantidad del producto transaccion.Estado = EntityState.Actualizado; //Comprobar si la cantidad pedida esta disponible en actualmente if (stockProducto < transaccion.Cantidad + productoDuplicado[0].Cantidad) { MessageBox.Show($"Incapaz de proceder, la cantidad en stock actual es: {stockProducto}", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning); return; } transaccion.ActualizarCantidadTransaccion(transaccion.IdTransaccion, transaccion.NumTransaccion, transaccion.IdProducto, transaccion.Cantidad); //MessageBox.Show("Registro exitoso.", "Resultado de Transacción", MessageBoxButton.OK, MessageBoxImage.Information); } else { //Ingresar el producto if (validar) { string resultado = transaccion.GuardarCambios(); //MessageBox.Show(resultado, "Resultado de Transacción", MessageBoxButton.OK, MessageBoxImage.Information); } } }
private void BtnCancelarOrden_Click(object sender, RoutedEventArgs e) { try { if (cmbAgregarAInventario.Text != "" && txtCantidadCancelada.Text != "" && txtRazon.Text != "") { if (Convert.ToInt32(txtCantidad.Text) >= (Convert.ToInt32(txtCantidadCancelada.Text))) { ModuloCancelarOrden cancelarOrden = new ModuloCancelarOrden(); cancelarOrden.ShowDialog(); string username = cancelarOrden.txtUsername.Text; //Guardamos la orden cancelada en tblCancel GuardarOrdenCancelada(username); if (cancelarOrden.Valido) { //Restauramos la cantidad de produtos en la tblProduct if (cmbAgregarAInventario.SelectedIndex == 0) { RestaurarCantidadDeProductos(); } //Disminuimos la cantidad de productos comprados en la tblCart TransaccionModel transaccion = new TransaccionModel(); int respuesta = transaccion.ActualizarCantidadTransaccion(Convert.ToInt32(txtIdTransacion.Text), txtNumTransaccion.Text, txtIdProducto.Text, (-1 * Convert.ToInt32(txtCantidadCancelada.Text))); if (respuesta > 0) { MessageBox.Show("Transacción de pedido cancelada con éxito", "Cancelar orden", MessageBoxButton.OK, MessageBoxImage.Information); this.Close(); } } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void TxtCantidad_PreviewTextInput(object sender, TextCompositionEventArgs e) { int caracter = Convert.ToInt32(Convert.ToChar(e.Text)); if ((caracter >= 48 && caracter <= 57) || caracter == 13) { e.Handled = false; } else { e.Handled = true; } if (caracter == 13 && txtCantidad.Text != string.Empty) { transaccion.Estado = EntityState.Agregado; transaccion.NumTransaccion = numTransaccion; transaccion.IdProducto = idProducto; transaccion.Precio = precio; transaccion.Cantidad = Convert.ToInt32(txtCantidad.Text.Trim()); transaccion.Fecha = DateTime.Now; transaccion.Cajero = UserCache.Username; bool validar = new Helps.DataValidation(transaccion).Validar(); //Comprobar si la cantidad pedida esta disponible en actualmente if (cantidad < transaccion.Cantidad) { MessageBox.Show($"Incapaz de proceder, la cantidad en stock actual es: {cantidad}", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning); return; } //Comprobar si el producto ya se encuentra registrado var productoDuplicado = transaccion.ComprobarProductosDuplicados(transaccion.NumTransaccion, transaccion.IdProducto); if (productoDuplicado.Count > 0) { //Actualizar la cantidad del producto transaccion.Estado = EntityState.Actualizado; //Comprobar si la cantidad pedida esta disponible en actualmente if (cantidad < transaccion.Cantidad + productoDuplicado[0].Cantidad) { MessageBox.Show($"Incapaz de proceder, la cantidad en stock actual es: {cantidad}", "Advertencia", MessageBoxButton.OK, MessageBoxImage.Warning); return; } transaccion.ActualizarCantidadTransaccion(transaccion.IdTransaccion, transaccion.NumTransaccion, transaccion.IdProducto, transaccion.Cantidad); MessageBox.Show("Registro exitoso.", "Resultado de Transacción", MessageBoxButton.OK, MessageBoxImage.Information); } else { //Ingresar el producto if (validar) { string resultado = transaccion.GuardarCambios(); MessageBox.Show(resultado, "Resultado de Transacción", MessageBoxButton.OK, MessageBoxImage.Information); } } this.Close(); } }