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(); }
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(); } }