Пример #1
0
        private bool AgregarVentaItem(ModeloVenta.Producto producto)
        {
            int cantidad = Cantidad > 0 ? Cantidad : 1;

            VentaItem ventaItems = VentaItems.FirstOrDefault(x => x.Codigo == producto.Codigo);

            if (ventaItems == null)
            {
                VentaItems.Add(new VentaItem(producto, cantidad, producto.Precio));
            }
            else
            {
                ventaItems.Cantidad += cantidad;
            }

            return(true);
        }
Пример #2
0
        private async Task <ModeloVenta.Producto> BuscarProducto()
        {
            if (string.IsNullOrWhiteSpace(CodigoDescripcion))
            {
                throw new NegocioException(Resources.productoNoExiste);
            }

            VentaItem ventaItem = VentaItems.Where(x => x.Codigo == CodigoDescripcion || x.Descripcion == CodigoDescripcion).FirstOrDefault();

            if (ventaItem != null)
            {
                return(ventaItem.Producto);
            }

            ModeloVenta.Producto producto = await ProductoService.Obtener(CodigoDescripcion);

            if (producto == null)
            {
                throw new NegocioException(Resources.productoNoExiste);
            }

            return(producto);
        }
Пример #3
0
        private void VentaForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (!txtCodigoDescirpcion.AutoCompleteShowing &&
                (e.KeyCode == Keys.Down ||
                 e.KeyCode == Keys.Up ||
                 e.KeyCode == Keys.Left ||
                 e.KeyCode == Keys.Right))
            {
                dgProductos.Focus();
                int RowSeleccionada = dgProductos.SelectedRows[0].Index;
                if (e.KeyCode == Keys.Up && RowSeleccionada > 0)
                {
                    dgProductos.ClearSelection();
                    dgProductos.Rows[RowSeleccionada - 1].Selected = true;
                }
                if (e.KeyCode == Keys.Down && RowSeleccionada < dgProductos.Rows.Count - 1)
                {
                    dgProductos.ClearSelection();
                    dgProductos.Rows[RowSeleccionada + 1].Selected = true;
                }
            }

            if (e.KeyCode == Keys.Escape && dgProductos.CurrentRow != null)
            {
                VentaItem ventaItems = (VentaItem)dgProductos.CurrentRow.DataBoundItem;
                if (DialogResult.Yes == CustomMessageBox.ShowDialog(Resources.quitarElemento, this.Text, MessageBoxButtons.YesNo, CustomMessageBoxIcon.Info))
                {
                    ventaViewModel.Quitar(ventaItems);
                }
            }

            if (e.KeyCode == Keys.F12)
            {
                btnCobrar.PerformClick();
            }
        }
Пример #4
0
        private void dgProductos_CellMouseClick(object sender, System.Windows.Forms.DataGridViewCellMouseEventArgs e)
        {
            Ejecutar(() =>
            {
                if (e.RowIndex < 0)
                {
                    return;
                }

                VentaItem ventaItems = (VentaItem)dgProductos.CurrentRow.DataBoundItem;
                if (dgProductos.Columns[e.ColumnIndex].Name == "Eliminar")
                {
                    if (DialogResult.Yes == CustomMessageBox.ShowDialog(Resources.quitarElemento, this.Text, MessageBoxButtons.YesNo, CustomMessageBoxIcon.Info))
                    {
                        ventaViewModel.Quitar(ventaItems);
                    }
                }
                else
                {
                    //inicio la edicion de la current celda
                    dgProductos.BeginEdit(true);
                }
            });
        }
Пример #5
0
 internal void Quitar(VentaItem ventaItems)
 {
     VentaItems.Remove(ventaItems);
     NotifyPropertyChanged(nameof(VentaItems));
 }