private async void btnRealizarCompra_Click(object sender, EventArgs e) { //pago pagoC.estado = 1; // activo pagoC.estadoPago = 1; //ver que significado // Moneda aux = monedaBindingSource.; int i = cbxMoneda.SelectedIndex; // Moneda aux = monedaBindingSource.List[i] as Moneda; pagoC.idMoneda = monedas[i].idMoneda; pagoC.idPago = currentCompra != null ? currentCompra.idPago: 0; pagoC.motivo = "COMPRA"; pagoC.saldo = Convert.ToDouble(textTotal.Text); pagoC.valorPagado = 0; pagoC.valorTotal = Convert.ToDouble(textTotal.Text); // compra string date1 = String.Format("{0:u}", dtpEmision.Value); date1 = date1.Substring(0, date1.Length - 1); string date = String.Format("{0:u}", dtpPago.Value); date = date.Substring(0, date.Length - 1); compraC.idCompra = currentCompra != null ? currentCompra.idCompra : 0;; compraC.numeroDocumento = "0"; compraC.rucDni = currentProveedor != null ? currentProveedor.ruc: currentCompra.rucDni; compraC.direccion = currentProveedor != null ? currentProveedor.direccion : currentCompra.direccion; compraC.formaPago = "EFECTIVO"; compraC.fechaPago = date; compraC.fechaFacturacion = date1; compraC.descuento = textDescuento.Text.Trim() != "" ? Convert.ToDouble(textDescuento.Text):0; compraC.tipoCompra = "Con productos"; compraC.subTotal = Convert.ToDouble(textSubTotal.Text); compraC.total = Convert.ToDouble(textTotal.Text); compraC.observacion = textObservacion.Text; compraC.estado = 1; compraC.idProveedor = currentProveedor != null ? currentProveedor.idProveedor: currentCompra.idProveedor; compraC.nombreProveedor = currentProveedor != null ? currentProveedor.razonSocial: currentCompra.nombreProveedor; compraC.idPago = currentCompra != null ? currentCompra.idPago : 0;; compraC.idPersonal = PersonalModel.personal.idPersonal; compraC.tipoCambio = 1; int j = cbxTipoDocumento.SelectedIndex; TipoDocumento aux = cbxTipoDocumento.Items[j] as TipoDocumento; compraC.idTipoDocumento = (aux.idTipoDocumento); compraC.idSucursal = ConfigModel.sucursal.idSucursal; compraC.nombreLabel = aux.nombreLabel; compraC.vendedor = PersonalModel.personal.nombres; compraC.nroOrdenCompra = textNroOrdenCompra.Text.Trim(); compraC.moneda = monedas[i].moneda; compraC.idCompra = currentCompra != null ? currentCompra.idCompra : 0; //detalle foreach (DetalleCompra detalle in detalleCompras) { DetalleC aux1 = new DetalleC(); aux1.cantidad = Convert.ToInt32(detalle.cantidad); aux1.cantidadUnitaria = Convert.ToInt32(detalle.cantidadUnitaria); aux1.codigoProducto = detalle.codigoProducto; aux1.descripcion = detalle.descripcion; aux1.descuento = detalle.descuento; aux1.estado = detalle.estado; aux1.idCombinacionAlternativa = detalle.idCombinacionAlternativa; aux1.idCompra = detalle.idCompra; aux1.idDetalleCompra = detalle.idDetalleCompra; aux1.idPresentacion = detalle.idPresentacion; aux1.idProducto = detalle.idProducto; aux1.idSucursal = detalle.idSucursal; aux1.nombreCombinacion = detalle.nombreCombinacion; aux1.nombreMarca = detalle.nombreMarca; aux1.nombrePresentacion = detalle.nombrePresentacion; aux1.nro = detalle.nro; aux1.precioUnitario = detalle.precioUnitario; aux1.total = detalle.total; detalleC.Add(aux1); DatoNotaEntradaC aux2 = new DatoNotaEntradaC(); aux2.idProducto = detalle.idProducto; aux2.cantidad = detalle.cantidad; aux2.idCombinacionAlternativa = detalle.idCombinacionAlternativa; aux2.idAlmacen = currentAlmacenCompra.idAlmacen; aux2.descripcion = detalle.descripcion; datoNotaEntradaC.Add(aux2); } pagocompraC.idCaja = FormPrincipal.asignacion.idCaja; pagocompraC.idPago = currentCompra != null ? currentCompra.idPago : 0;; pagocompraC.moneda = monedas[i].moneda; pagocompraC.idMoneda = monedas[i].idMoneda; pagocompraC.idMedioPago = medioPagos[0].idMedioPago; pagocompraC.idCajaSesion = ConfigModel.cajaSesion != null ? ConfigModel.cajaSesion.idCajaSesion:0; pagocompraC.pagarCompra = chbxPagarCompra.Checked == true ? 1 : 0; notaentrada.datoNotaEntrada = datoNotaEntradaC; notaentrada.generarNotaEntrada = chbxNotaEntrada.Checked == true ? 1 : 0; notaentrada.idCompra = currentCompra != null ? currentCompra.idPago : 0;; notaentrada.idTipoDocumento = 7; notaentrada.idPersonal = PersonalModel.personal.idPersonal; compraTotal = new compraTotal(); compraTotal.detalle = detalleC; compraTotal.compra = compraC; compraTotal.notaentrada = notaentrada; compraTotal.pago = pagoC; compraTotal.pagocompra = pagocompraC; await compraModel.ralizarCompra(compraTotal); if (nuevo) { MessageBox.Show("Datos Guardados", "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Datos modificador", "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Information); } return; }
public void dataGridview_TextChanged(object sender, EventArgs e) { int index = dgvProductos.CurrentCell.RowIndex; if (dgvProductos.CurrentCell.ColumnIndex != 5) { return; } string dato = txt.Text; if (dato == "") { return; } int idPresentacion = Convert.ToInt32(dgvProductos.Rows[index].Cells["idPresentacion"].Value); int idCombinacion = Convert.ToInt32(dgvProductos.Rows[index].Cells["idCombinacionAlternativa"].Value); int idAlmacen = Convert.ToInt32(dgvProductos.Rows[index].Cells["idAlmacen"].Value); DatoNotaEntradaC datosNota = list.Find(X => X.idPresentacion == idPresentacion && X.idCombinacionAlternativa == idCombinacion && X.idAlmacen == idAlmacen); decimal datoOriginal = datosNota.stockTotal; decimal datoDatagriw = Decimal.Parse(dato); decimal stockResultante = datoOriginal + datoDatagriw; datosNota.stockGuardar = stockResultante; datosNota.stock = datoDatagriw; datosNota.cantidad = Convert.ToInt32(datoDatagriw); List <DatoNotaEntradaC> listAux = list.Where(X => X.idPresentacion == idPresentacion && X.idCombinacionAlternativa == idCombinacion).ToList(); decimal suma = listAux.Sum(X => X.stock); decimal cantidadRestante = listAux[0].stockCompra - suma; foreach (DatoNotaEntradaC NS in listAux) { if (cantidadRestante >= 0) { NS.stockCompraRestante = cantidadRestante; } else { NS.stockCompraRestante = 0; if (NS.idAlmacen == idAlmacen) { decimal stockResultante1 = datoDatagriw + cantidadRestante; decimal stockResultante2 = datoOriginal + stockResultante1; NS.stockGuardar = stockResultante2; NS.cantidad = (int)stockResultante1; txt.Text = stockResultante1.ToString(); txt.Select();; NS.stock = stockResultante1; } } } datoNotaEntradaCBindingSource.DataSource = list; dgvProductos.Refresh(); }
private async void btnComprar_Click(object sender, EventArgs e) { if (currentProveedor == null) { MessageBox.Show("no hay ningun proveedor seleccionado", "proveedor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //pago pagoC.estado = 1; // activo pagoC.estadoPago = 1; //ver que significado Moneda moneda = monedas.Find(X => X.idMoneda == (int)cbxTipoMoneda.SelectedValue); pagoC.idMoneda = moneda.idMoneda; pagoC.idPago = currentCompra != null ? currentCompra.idPago : 0; pagoC.motivo = "COMPRA"; pagoC.saldo = chbxPagarCompra.Checked ? 0 : this.total; // pagoC.valorPagado = chbxPagarCompra.Checked ? this.total : 0; // pagoC.valorTotal = this.total; // // compra string date1 = String.Format("{0:u}", dtpFechaEmision.Value); date1 = date1.Substring(0, date1.Length - 1); string date = String.Format("{0:u}", dtpFechaPago.Value); date = date.Substring(0, date.Length - 1); compraC.idCompra = currentCompra != null ? currentCompra.idCompra : 0;; compraC.numeroDocumento = "0";//lo textNordocumento compraC.rucDni = currentProveedor.ruc; compraC.direccion = currentProveedor.direccion; compraC.formaPago = "EFECTIVO"; compraC.fechaPago = date; compraC.fechaFacturacion = date1; compraC.descuento = lbDescuentoCompras.Text.Trim() != "" ? this.Descuento: 0;// compraC.tipoCompra = "Con productos"; compraC.subTotal = lbSubtotal.Text.Trim() != "" ? this.subTotal : 0; compraC.total = this.total; compraC.observacion = txtObservaciones.Text; compraC.estado = 1; compraC.idProveedor = currentProveedor.idProveedor; compraC.nombreProveedor = currentProveedor.razonSocial; compraC.idPago = currentCompra != null ? currentCompra.idPago : 0;; compraC.idPersonal = PersonalModel.personal.idPersonal; compraC.tipoCambio = 1; int j = cbxTipoDocumento.SelectedIndex; TipoDocumento aux = cbxTipoDocumento.Items[j] as TipoDocumento; compraC.idTipoDocumento = (aux.idTipoDocumento); compraC.idSucursal = ConfigModel.sucursal.idSucursal; compraC.nombreLabel = aux.nombreLabel; compraC.vendedor = PersonalModel.personal.nombres; compraC.nroOrdenCompra = txtNroOrdenCompra.Text.Trim(); compraC.moneda = moneda.moneda; compraC.idCompra = currentCompra != null ? currentCompra.idCompra : 0; //detalle foreach (DetalleC detalle in detalleC) { DatoNotaEntradaC notaEntrada = new DatoNotaEntradaC(); notaEntrada.idProducto = detalle.idProducto; notaEntrada.cantidad = detalle.cantidad; notaEntrada.idCombinacionAlternativa = detalle.idCombinacionAlternativa; notaEntrada.idAlmacen = currentAlmacenCompra.idAlmacen; notaEntrada.descripcion = detalle.descripcion; datoNotaEntradaC.Add(notaEntrada); } pagocompraC.idCaja = FormPrincipal.asignacion.idCaja; pagocompraC.idPago = currentCompra != null ? currentCompra.idPago : 0;; pagocompraC.moneda = moneda.moneda; pagocompraC.idMoneda = moneda.idMoneda; pagocompraC.idMedioPago = medioPagos[0].idMedioPago; pagocompraC.idCajaSesion = ConfigModel.cajaSesion != null ? ConfigModel.cajaSesion.idCajaSesion : 0; pagocompraC.pagarCompra = chbxPagarCompra.Checked == true ? 1 : 0; notaentrada.datoNotaEntrada = datoNotaEntradaC; notaentrada.generarNotaEntrada = chbxNotaEntrada.Checked == true ? 1 : 0; notaentrada.idCompra = currentCompra != null ? currentCompra.idPago : 0;; notaentrada.idTipoDocumento = (int)cbxTipoDocumento.SelectedValue; notaentrada.idPersonal = PersonalModel.personal.idPersonal; compraTotal = new compraTotal(); compraTotal.detalle = detalleC; compraTotal.compra = compraC; compraTotal.notaentrada = notaentrada; compraTotal.pago = pagoC; compraTotal.pagocompra = pagocompraC; try { await compraModel.ralizarCompra(compraTotal); } catch (Exception ex) { MessageBox.Show("error: " + ex.Message, "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (nuevo) { MessageBox.Show("Datos Guardados", "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Information); btnComprar.Enabled = false; } else { MessageBox.Show("Datos modificador", "Guardar", MessageBoxButtons.OK, MessageBoxIcon.Information); } return; }