Example #1
0
        public override void buscar()
        {
            FormBuscarProducto formaBuscar = new FormBuscarProducto();

            formaBuscar.ShowDialog();
            if (formaBuscar.DialogResult == DialogResult.OK)
            {
                this.aRTICULOBindingSource.DataSource = formaBuscar.getProductoSeleccionado().ARTICULO;
            }
        }
        private void buttonEdit1_EditValueChanged(object sender, EventArgs e)
        {
            if (sender == null)
            {
                return;
            }
            ButtonEdit buttonEdit = (ButtonEdit)sender;

            if (buttonEdit.EditValue == null)
            {
                return;
            }
            if (this.CODIGOBODEGALookUpEdit.EditValue == null)
            {
                return;
            }
            if (this.comprobante.CODIGOBODEGA == null)
            {
                XtraMessageBox.Show("Seleccione una bodega.");
                return;
            }
            IEnumerable <ARTICULO> listadoArticulo;
            DETALLECOMPROBANTE     detalleComprobante;

            listadoArticulo = articuloServicio.getArticuloGeneral(codigoEmpresa, buttonEdit.EditValue.ToString(), CredencialUsuario.getInstancia().getEstablecimientoSeleccionado().CODIGOESTABLECIMIENTO);
            if (listadoArticulo != null)
            {
                if (listadoArticulo.Count() == 1)
                {
                    int numlinea = 0;
                    foreach (ARTICULO articulo in listadoArticulo)
                    {
                        numlinea++;
                        detalleComprobante = existeArticulo(articulo, this.textEditCantidad.Value);
                        if (detalleComprobante == null)
                        {
                            detalleComprobante                = new DETALLECOMPROBANTE();
                            detalleComprobante.ARTICULO       = articulo;
                            detalleComprobante.CODIGOARTICULO = articulo.CODIGOARTICULO;
                            /*revisar stock del articulo*/
                            BODEGASTOCK bodegaStock = facturaServicio.getStockBodega(articulo.CODIGOARTICULO, (long)this.CODIGOBODEGALookUpEdit.EditValue);
                            if (bodegaStock.STOCKACTUAL == 0)
                            {
                                XtraMessageBox.Show("No existe stock para articulo: " + articulo.DESCRIPCION);
                                return;
                            }
                            detalleComprobante.CANTIDAD            = this.textEditCantidad.Value;
                            detalleComprobante.NUMEROLINEA         = numlinea;
                            detalleComprobante.DESCRIPCIONARTICULO = articulo.DESCRIPCION;
                            detalleComprobante.DESCUENTO           = 0;
                            if (articulo.PRECIOVARIABLE == "S")
                            {
                                PrecioVariableForm precioForm = new PrecioVariableForm();
                                precioForm.Articulo = articulo;
                                precioForm.ShowDialog();
                                if (precioForm.DialogResult == DialogResult.OK)
                                {
                                    articulo.PRECIOVENTA = precioForm.Articulo.PRECIOVENTA;
                                }
                            }
                            decimal precioArticulo = 0;
                            precioArticulo = getPrecio((long)this.CODIGOLISTADEPRECIOLookUpEdit.EditValue, articulo.CODIGOARTICULO, this.socionegocioSeleccionado.CODIGOSOCIONEGOCIO);
                            if (precioArticulo > 0)
                            {
                                articulo.PRECIOVENTA = precioArticulo;
                            }
                            detalleComprobante.PVP                = (articulo.IMPUESTO.DESGLOSADO == "N" ? articulo.PRECIOVENTA / (articulo.IMPUESTO.PORCENTAJE / 100) : articulo.PRECIOVENTA);
                            detalleComprobante.BASEIMPONIBLE      = Math.Round(detalleComprobante.CANTIDAD * detalleComprobante.PVP, 2);
                            detalleComprobante.VALORIMPUESTO      = Math.Round((decimal)detalleComprobante.BASEIMPONIBLE * (articulo.IMPUESTO.PORCENTAJE / 100), 2);
                            detalleComprobante.TOTAL              = Math.Round((decimal)detalleComprobante.BASEIMPONIBLE + (decimal)detalleComprobante.VALORIMPUESTO, 2);
                            detalleComprobante.PORCENTAJEIMPUESTO = articulo.IMPUESTO.PORCENTAJE / 100;
                            detalleComprobante.CODIGOIMPUESTO     = articulo.CODIGOIMPUESTO;
                            detalleComprobante.IMPUESTO           = articulo.IMPUESTO;
                            detalleComprobante.NUMEROLINEA        = numlinea;
                            detalleComprobante.ESTADO             = (int)EnumEstado.ACTIVO;
                            detalleComprobante.CODIGOBODEGA       = (long)this.CODIGOBODEGALookUpEdit.EditValue;
                            detalleComprobanteList.Add(detalleComprobante);
                            bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>(detalleComprobanteList);
                            this.DETALLECOMPROBANTEGridControl.DataSource = bindingListDetalleComprobante;
                        }
                    }
                }
                else
                {
                    FormBuscarProducto formproducto = new FormBuscarProducto(listadoArticulo);
                    formproducto.ShowDialog();
                    if (formproducto.DialogResult == DialogResult.OK)
                    {
                        ARTICULO articulo = formproducto.getProductoSeleccionado();
                        detalleComprobante = existeArticulo(formproducto.getProductoSeleccionado(), this.textEditCantidad.Value);
                        if (detalleComprobante == null)
                        {
                            detalleComprobante                = new DETALLECOMPROBANTE();
                            detalleComprobante.ARTICULO       = articulo;
                            detalleComprobante.CODIGOARTICULO = articulo.CODIGOARTICULO;
                            BODEGASTOCK bodegaStock = facturaServicio.getStockBodega(articulo.CODIGOARTICULO, (long)this.CODIGOBODEGALookUpEdit.EditValue);
                            if (bodegaStock.STOCKACTUAL == 0)
                            {
                                XtraMessageBox.Show("No existe stock para articulo: " + articulo.DESCRIPCION);
                                return;
                            }
                            detalleComprobante.CANTIDAD  = this.textEditCantidad.Value;
                            detalleComprobante.DESCUENTO = 0;
                            if (articulo.PRECIOVARIABLE == "S")
                            {
                                PrecioVariableForm precioForm = new PrecioVariableForm();
                                precioForm.Articulo = articulo;
                                precioForm.ShowDialog();
                                if (precioForm.DialogResult == DialogResult.OK)
                                {
                                    articulo.PRECIOVENTA = precioForm.Articulo.PRECIOVENTA;
                                }
                            }
                            decimal precioArticulo = 0;
                            precioArticulo = getPrecio((long)this.CODIGOLISTADEPRECIOLookUpEdit.EditValue, articulo.CODIGOARTICULO, this.socionegocioSeleccionado.CODIGOSOCIONEGOCIO);
                            if (precioArticulo > 0)
                            {
                                articulo.PRECIOVENTA = precioArticulo;
                            }
                            detalleComprobante.PVP                 = (articulo.IMPUESTO.DESGLOSADO == "N" ? articulo.PRECIOVENTA / (articulo.IMPUESTO.PORCENTAJE / 100) : articulo.PRECIOVENTA);
                            detalleComprobante.BASEIMPONIBLE       = Math.Round(detalleComprobante.CANTIDAD * detalleComprobante.PVP, 2);
                            detalleComprobante.VALORIMPUESTO       = Math.Round((decimal)detalleComprobante.BASEIMPONIBLE * (articulo.IMPUESTO.PORCENTAJE / 100), 2);
                            detalleComprobante.TOTAL               = Math.Round((decimal)detalleComprobante.BASEIMPONIBLE + (decimal)detalleComprobante.VALORIMPUESTO, 2);
                            detalleComprobante.DESCRIPCIONARTICULO = articulo.DESCRIPCION;
                            detalleComprobante.PORCENTAJEIMPUESTO  = articulo.IMPUESTO.PORCENTAJE / 100;
                            detalleComprobante.CODIGOIMPUESTO      = articulo.CODIGOIMPUESTO;
                            detalleComprobante.IMPUESTO            = articulo.IMPUESTO;
                            detalleComprobante.CODIGOBODEGA        = (long)this.CODIGOBODEGALookUpEdit.EditValue;
                            detalleComprobanteList.Add(detalleComprobante);
                            bindingListDetalleComprobante = new BindingList <DETALLECOMPROBANTE>(detalleComprobanteList);
                            this.DETALLECOMPROBANTEGridControl.DataSource = bindingListDetalleComprobante;
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("No existe producto para: " + buttonEdit1.EditValue.ToString());
            }
            calcularImpuestos();
            buttonEdit.EditValue = null;
            buttonEdit.Focus();
        }
Example #3
0
        private void buttonEdit1_EditValueChanged(object sender, EventArgs e)
        {
            if (sender == null)
            {
                return;
            }
            ButtonEdit buttonEdit = (ButtonEdit)sender;

            if (buttonEdit.EditValue == null || this.CODIGOBODEGALookUpEdit.EditValue == null)
            {
                return;
            }
            if (!this.comprobante.CODIGOBODEGA.HasValue)
            {
                int num1 = (int)XtraMessageBox.Show("Seleccione una bodega.");
            }
            else
            {
                IEnumerable <BODEGASTOCK> articuloStock = this.articuloServicio.getArticuloStock(this.comprobante.CODIGOESTABLECIMIENTO, buttonEdit.EditValue.ToString());
                if (articuloStock != null)
                {
                    if (articuloStock.Count <BODEGASTOCK>() == 1)
                    {
                        int num2 = 0;
                        foreach (BODEGASTOCK bodegastock in articuloStock)
                        {
                            ++num2;
                            if (this.existeArticulo(bodegastock.ARTICULO, this.textEditCantidad.Value) == null)
                            {
                                DETALLECOMPROBANTE detallecomprobante1 = new DETALLECOMPROBANTE();
                                detallecomprobante1.ARTICULO       = bodegastock.ARTICULO;
                                detallecomprobante1.CODIGOARTICULO = bodegastock.CODIGOARTICULO;
                                if (this.facturaServicio.getStockBodega(bodegastock.CODIGOARTICULO, (long)this.CODIGOBODEGALookUpEdit.EditValue).STOCKACTUAL == Decimal.Zero)
                                {
                                    int num3 = (int)XtraMessageBox.Show("No existe stock para articulo: " + bodegastock.ARTICULO.DESCRIPCION);
                                    return;
                                }
                                detallecomprobante1.CANTIDAD            = this.textEditCantidad.Value;
                                detallecomprobante1.NUMEROLINEA         = num2;
                                detallecomprobante1.DESCRIPCIONARTICULO = bodegastock.ARTICULO.DESCRIPCION;
                                detallecomprobante1.DESCUENTO           = new Decimal?(Decimal.Zero);
                                if (bodegastock.ARTICULO.PRECIOVARIABLE == "S")
                                {
                                    PrecioVariableForm precioVariableForm = new PrecioVariableForm();
                                    precioVariableForm.Articulo = bodegastock.ARTICULO;
                                    int num3 = (int)precioVariableForm.ShowDialog();
                                    if (precioVariableForm.DialogResult == DialogResult.OK)
                                    {
                                        bodegastock.ARTICULO.PRECIOVENTA = precioVariableForm.Articulo.PRECIOVENTA;
                                    }
                                }
                                Decimal num4   = new Decimal();
                                Decimal precio = this.getPrecio((long)this.CODIGOLISTADEPRECIOLookUpEdit.EditValue, bodegastock.CODIGOARTICULO, new long?(this.socionegocioSeleccionado.CODIGOSOCIONEGOCIO));
                                if (precio > Decimal.Zero)
                                {
                                    bodegastock.ARTICULO.PRECIOVENTA = precio;
                                }
                                detallecomprobante1.PVP           = bodegastock.ARTICULO.IMPUESTO.DESGLOSADO == "N" ? bodegastock.ARTICULO.PRECIOVENTA / (bodegastock.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100)) : bodegastock.ARTICULO.PRECIOVENTA;
                                detallecomprobante1.BASEIMPONIBLE = new Decimal?(Math.Round(detallecomprobante1.CANTIDAD * detallecomprobante1.PVP, 2));
                                DETALLECOMPROBANTE detallecomprobante2 = detallecomprobante1;
                                Decimal?           nullable1           = detallecomprobante1.BASEIMPONIBLE;
                                Decimal?           nullable2           = new Decimal?(Math.Round(nullable1.Value * (bodegastock.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100)), 2));
                                detallecomprobante2.VALORIMPUESTO = nullable2;
                                DETALLECOMPROBANTE detallecomprobante3 = detallecomprobante1;
                                nullable1 = detallecomprobante1.BASEIMPONIBLE;
                                Decimal num5 = nullable1.Value;
                                nullable1 = detallecomprobante1.VALORIMPUESTO;
                                Decimal num6      = nullable1.Value;
                                Decimal?nullable3 = new Decimal?(Math.Round(num5 + num6, 2));
                                detallecomprobante3.TOTAL = nullable3;
                                detallecomprobante1.PORCENTAJEIMPUESTO = bodegastock.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100);
                                detallecomprobante1.CODIGOIMPUESTO     = bodegastock.ARTICULO.CODIGOIMPUESTO;
                                detallecomprobante1.IMPUESTO           = bodegastock.ARTICULO.IMPUESTO;
                                detallecomprobante1.NUMEROLINEA        = num2;
                                detallecomprobante1.ESTADO             = 1;
                                detallecomprobante1.CODIGOBODEGA       = (long)this.CODIGOBODEGALookUpEdit.EditValue;
                                this.detalleComprobanteList.Add(detallecomprobante1);
                                this.bindingListDetalleComprobante            = new BindingList <DETALLECOMPROBANTE>((IList <DETALLECOMPROBANTE>) this.detalleComprobanteList);
                                this.DETALLECOMPROBANTEGridControl.DataSource = (object)this.bindingListDetalleComprobante;
                            }
                        }
                    }
                    else
                    {
                        FormBuscarProducto formBuscarProducto = new FormBuscarProducto(articuloStock);
                        int num2 = (int)formBuscarProducto.ShowDialog();
                        if (formBuscarProducto.DialogResult == DialogResult.OK)
                        {
                            BODEGASTOCK productoSeleccionado = formBuscarProducto.getProductoSeleccionado();
                            if (this.existeArticulo(formBuscarProducto.getProductoSeleccionado().ARTICULO, this.textEditCantidad.Value) == null)
                            {
                                DETALLECOMPROBANTE detallecomprobante1 = new DETALLECOMPROBANTE();
                                detallecomprobante1.ARTICULO       = productoSeleccionado.ARTICULO;
                                detallecomprobante1.CODIGOARTICULO = productoSeleccionado.CODIGOARTICULO;
                                if (this.facturaServicio.getStockBodega(productoSeleccionado.CODIGOARTICULO, (long)this.CODIGOBODEGALookUpEdit.EditValue).STOCKACTUAL == Decimal.Zero)
                                {
                                    int num3 = (int)XtraMessageBox.Show("No existe stock para articulo: " + productoSeleccionado.ARTICULO.DESCRIPCION);
                                    return;
                                }
                                detallecomprobante1.CANTIDAD  = this.textEditCantidad.Value;
                                detallecomprobante1.DESCUENTO = new Decimal?(Decimal.Zero);
                                if (productoSeleccionado.ARTICULO.PRECIOVARIABLE == "S")
                                {
                                    PrecioVariableForm precioVariableForm = new PrecioVariableForm();
                                    precioVariableForm.Articulo = productoSeleccionado.ARTICULO;
                                    int num3 = (int)precioVariableForm.ShowDialog();
                                    if (precioVariableForm.DialogResult == DialogResult.OK)
                                    {
                                        productoSeleccionado.ARTICULO.PRECIOVENTA = precioVariableForm.Articulo.PRECIOVENTA;
                                    }
                                }
                                Decimal num4   = new Decimal();
                                Decimal precio = this.getPrecio((long)this.CODIGOLISTADEPRECIOLookUpEdit.EditValue, productoSeleccionado.CODIGOARTICULO, new long?(this.socionegocioSeleccionado.CODIGOSOCIONEGOCIO));
                                if (precio > Decimal.Zero)
                                {
                                    productoSeleccionado.ARTICULO.PRECIOVENTA = precio;
                                }
                                detallecomprobante1.PVP           = productoSeleccionado.ARTICULO.IMPUESTO.DESGLOSADO == "N" ? productoSeleccionado.ARTICULO.PRECIOVENTA / (productoSeleccionado.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100)) : productoSeleccionado.ARTICULO.PRECIOVENTA;
                                detallecomprobante1.BASEIMPONIBLE = new Decimal?(Math.Round(detallecomprobante1.CANTIDAD * detallecomprobante1.PVP, 2));
                                DETALLECOMPROBANTE detallecomprobante2 = detallecomprobante1;
                                Decimal?           nullable1           = detallecomprobante1.BASEIMPONIBLE;
                                Decimal?           nullable2           = new Decimal?(Math.Round(nullable1.Value * (productoSeleccionado.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100)), 2));
                                detallecomprobante2.VALORIMPUESTO = nullable2;
                                DETALLECOMPROBANTE detallecomprobante3 = detallecomprobante1;
                                nullable1 = detallecomprobante1.BASEIMPONIBLE;
                                Decimal num5 = nullable1.Value;
                                nullable1 = detallecomprobante1.VALORIMPUESTO;
                                Decimal num6      = nullable1.Value;
                                Decimal?nullable3 = new Decimal?(Math.Round(num5 + num6, 2));
                                detallecomprobante3.TOTAL = nullable3;
                                detallecomprobante1.DESCRIPCIONARTICULO = productoSeleccionado.ARTICULO.DESCRIPCION;
                                detallecomprobante1.PORCENTAJEIMPUESTO  = productoSeleccionado.ARTICULO.IMPUESTO.PORCENTAJE / new Decimal(100);
                                detallecomprobante1.CODIGOIMPUESTO      = productoSeleccionado.ARTICULO.CODIGOIMPUESTO;
                                detallecomprobante1.IMPUESTO            = productoSeleccionado.ARTICULO.IMPUESTO;
                                detallecomprobante1.CODIGOBODEGA        = (long)this.CODIGOBODEGALookUpEdit.EditValue;
                                this.detalleComprobanteList.Add(detallecomprobante1);
                                this.bindingListDetalleComprobante            = new BindingList <DETALLECOMPROBANTE>((IList <DETALLECOMPROBANTE>) this.detalleComprobanteList);
                                this.DETALLECOMPROBANTEGridControl.DataSource = (object)this.bindingListDetalleComprobante;
                            }
                        }
                    }
                }
                else
                {
                    int num7 = (int)MessageBox.Show("No existe producto para: " + this.buttonEdit1.EditValue.ToString());
                }
                this.calcularImpuestos();
                buttonEdit.EditValue = (object)null;
                buttonEdit.Focus();
            }
        }