Beispiel #1
0
        private bool Validar()
        {
            bool paso = true;

            if (string.IsNullOrWhiteSpace(ProductoComboBox.Text))
            {
                MyErrorProvider.SetError(ProductoComboBox, "El campo Producto no puede estar vacio.");
                ProductoComboBox.Focus();
                paso = false;
            }

            if (string.IsNullOrWhiteSpace(ProveedorComboBox.Text))
            {
                MyErrorProvider.SetError(ProveedorComboBox, "El campo Proveedor no puede estar vacio.");
                ProveedorComboBox.Focus();
                paso = false;
            }

            if (this.Detalle.Count == 0)
            {
                MyErrorProvider.SetError(AgregarDetalleButton, "El Detalle no puede estar vacio.");
                AgregarDetalleButton.Focus();
                paso = false;
            }

            return(paso);
        }
        private void GenerarPedidosAutoButton_Click_1(object sender, EventArgs e)
        {
            if (ProveedorComboBox.SelectedIndex == -1)
            {
                errorProvider1.SetError(ProveedorComboBox, "Seleccione un proveedor");
                ProveedorComboBox.Focus();
                return;
            }

            var rta = MessageBox.Show("¿Está seguro de generar un pedido automatizado?", "Confirmación",
                                      MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (rta == DialogResult.No)
            {
                return;
            }

            var codProv = (int)ProveedorComboBox.SelectedValue;

            stock = new DStock();
            List <DStockParaPedidosAuto> valoresStock = stock.SelectListadoStockActualMenorAlCritico(codProv);

            if (valoresStock == null)
            {
                MessageBox.Show("No se generó el pedido, no hay productos cuyo stock actual sea menor al crítico", "Atención",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
                return;
            }


            int codPedido = InsertPedido(DateTime.Now, false, true, codProv);


            foreach (var stock in valoresStock)
            {
                InsertStockPedido(codPedido, stock.CodStock, stock.StockCritico - stock.StockActual, 1, 1);
            }

            var popup1 = new PopupNotifier()
            {
                Image        = Properties.Resources.sql_success1,
                TitleText    = "Mensaje",
                ContentText  = $"El pedido automatizado con código:{codPedido} fue grabado de forma exitosa",
                ContentFont  = new Font("Segoe UI Bold", 11F),
                TitleFont    = new Font("Segoe UI Bold", 10F),
                ImagePadding = new Padding(8)
            };

            popup1.Popup();

            misDetalles.Clear();
            ActualizarGrid();
            LimpiarCampos();
            DeshabilitarCampos();
            SelectPedidosReaprov();
            ProductoComboBox.Focus();
        }
Beispiel #3
0
        private void DeshabilitarCampos()
        {
            ProveedorComboBox.Enabled = false;
            DebeTextBox.ReadOnly      = true;
            HaberTextBox.ReadOnly     = true;

            BorrarCuentaButton.Enabled    = true;
            ModificarCuentaButton.Enabled = true;
            ModificarSaldosButton.Enabled = true;
            NuevaCuentaButton.Enabled     = true;

            GuardarDatosButton.Enabled  = false;
            CancelarNuevoButton.Enabled = false;

            ProveedorComboBox.Focus();
        }
        private void GrabarButton_Click(object sender, EventArgs e)
        {
            if (ProveedorComboBox.SelectedIndex == -1)
            {
                errorProvider1.SetError(ProveedorComboBox, "Dbe seleccionar un Proveedor");
                ProveedorComboBox.Focus();
                return;
            }
            errorProvider1.Clear();

            if (BodegaComboBox.SelectedIndex == -1)
            {
                errorProvider1.SetError(BodegaComboBox, "Dbe seleccionar una Bodega");
                BodegaComboBox.Focus();
                return;
            }
            errorProvider1.Clear();

            if (misDetalles.Count == 0)
            {
                errorProvider1.SetError(ProductoTextBox, "Ingresar Productos en la compra");
                ProductoTextBox.Focus();
                return;
            }
            errorProvider1.Clear();

            DialogResult rta = MessageBox.Show("¿Está seguro de grabar la compra?", "Confirmació n", MessageBoxButtons.YesNo,
                                               MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

            if (DialogResult.No == rta)
            {
                return;
            }

            int IDProveedor = (int)ProveedorComboBox.SelectedValue;
            int IDBodega    = (int)BodegaComboBox.SelectedValue;

            //Grabamos Encabezado de  la Compra
            int      IDCompra = CADCompra.InsertCompra(ComprasDateTimePicker.Value, IDProveedor, IDBodega);
            DateTime Fecha    = ComprasDateTimePicker.Value;

            //Grabamos detalle de la compra
            foreach (DetalleCompra miDetalle in misDetalles)
            {
                //Actualixamos la tabla bodegaProducto
                CADBodegaProducto miBodegaProducto = CADBodegaProducto.GetBodegaProductoByIDBodegaAndIDProducto
                                                         (IDBodega, miDetalle.IDProducto);

                if (miBodegaProducto == null)
                {
                    CADBodegaProducto.UpdateBodegaProducto(IDBodega, miDetalle.IDProducto, 1, 1, 1, 1);
                }
                CADCompra.AumentarStock(miDetalle.Cantidad, IDBodega, miDetalle.IDProducto);

                //Actualizamos el Kardex

                CADKardex miKardex = CADKardex.UltimoKardex(IDBodega, miDetalle.IDProducto);

                int     IDKardex;
                float   nuevoSaldo;
                decimal nuevoCostoPromedio;

                if (miKardex == null)
                {
                    nuevoSaldo         = miDetalle.Cantidad;
                    nuevoCostoPromedio = miDetalle.ValorNeto / (decimal)miDetalle.Cantidad;
                }
                else
                {
                    nuevoSaldo         = miKardex.Saldo + miDetalle.Cantidad;
                    nuevoCostoPromedio =
                        (miKardex.CostoPromedio * (decimal)miKardex.Saldo +
                         miDetalle.ValorNeto) /
                        (decimal)nuevoSaldo;
                }

                IDKardex = CADKardex.InsertKardex(IDBodega, miDetalle.IDProducto, Fecha,
                                                  string.Format("CO-{0}", IDCompra), miDetalle.Cantidad, 0, nuevoSaldo,
                                                  miDetalle.ValorNeto / (decimal)miDetalle.Cantidad, nuevoCostoPromedio);

                //Actulaizamos CompraDetalle
                CADCompraDetalle.InsertCompraDetalle(IDCompra, miDetalle.IDProducto, miDetalle.Descripcion, miDetalle.Costo,
                                                     miDetalle.Cantidad, IDKardex, miDetalle.PorcentajeIVA, miDetalle.PorcentajeDescuento);
            }

            MessageBox.Show(string.Format("Lacompra: {0}, fue grabada de forma exitosa", IDCompra, MessageBoxButtons.OK, MessageBoxIcon.Exclamation));

            ProveedorComboBox.SelectedIndex = -1;
            BodegaComboBox.SelectedIndex    = -1;
            misDetalles.Clear();
            RefrescarGrid();
            ProveedorComboBox.Focus();
        }
Beispiel #5
0
        private bool ValidarCampos()
        {
            if (ProveedorComboBox.SelectedIndex == -1)
            {
                errorProvider1.SetError(ProveedorComboBox, "Seleccione un Proveedor");
                ProveedorComboBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (FacturaTextBox.Text == string.Empty)
            {
                errorProvider1.SetError(FacturaTextBox, "Ingrese el Número de la Factura");
                FacturaTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (CantidadTextBox.Text == string.Empty)
            {
                errorProvider1.SetError(CantidadTextBox, "Ingrese la cantidad");
                CantidadTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (!float.TryParse(CantidadTextBox.Text, out float cantidad))
            {
                errorProvider1.SetError(CantidadTextBox, "Debe ingresar un valor numérico entero");
                CantidadTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (cantidad <= 0)
            {
                errorProvider1.SetError(CantidadTextBox, "Debe ingresar un valor mayor a cero");
                CantidadTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (ProductoComboBox.SelectedIndex == -1)
            {
                errorProvider1.SetError(AbrirProductosButton, "Seleccione un producto");
                ProductoComboBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (DescripcionTextBox.Text == string.Empty)
            {
                errorProvider1.SetError(DescripcionTextBox, "Ingrese la descripción del producto");
                DescripcionTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (CostoUnitarioTextBox.Text == string.Empty)
            {
                errorProvider1.SetError(CostoUnitarioTextBox, "Ingrese el Costo del Producto");
                CostoUnitarioTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (!decimal.TryParse(CostoUnitarioTextBox.Text, out decimal costo))
            {
                errorProvider1.SetError(CostoUnitarioTextBox, "Debe ingresar un valor numérico entero");
                CostoUnitarioTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            if (costo <= 0)
            {
                errorProvider1.SetError(CostoUnitarioTextBox, "Debe ingresar un valor mayor a cero");
                CostoUnitarioTextBox.Focus();
                return(false);
            }
            errorProvider1.Clear();

            return(true);
        }