private async void listarDetalleCompraByIdCompra() { try { list = await compra.dCompras(currentCompra.idCompra); // cargar datos correpondienetes if (detalleC == null) { detalleC = new List <DetalleC>(); } foreach (CompraModificar C in list) { DetalleC aux = new DetalleC(); aux.idCompra = C.idCompra; aux.cantidad = C.cantidad; aux.cantidadUnitaria = C.cantidadUnitaria; aux.codigoProducto = C.codigoProducto; aux.descripcion = C.descripcion; aux.descuento = C.descuento; aux.estado = C.estado; aux.idCombinacionAlternativa = C.idCombinacionAlternativa; aux.idDetalleCompra = C.idDetalleCompra; aux.idPresentacion = C.idPresentacion; aux.idProducto = C.idProducto; aux.idSucursal = C.idSucursal; aux.nombreCombinacion = C.nombreCombinacion; aux.nombreMarca = C.nombreMarca; aux.nombrePresentacion = C.nombrePresentacion; aux.nro = C.nro; aux.precioUnitario = C.precioUnitario; aux.total = C.total; detalleC.Add(aux); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "cargar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } // Refrescando la tabla detalleCBindingSource.DataSource = null; detalleCBindingSource.DataSource = detalleC; dgvDetalleCompra.Refresh(); // Calculo de totales y subtotales calculoSubtotal(); calcularDescuento(); }
private void dgvDetalleCompra_CellContentClick(object sender, DataGridViewCellEventArgs e) { int y = e.ColumnIndex; if (dgvDetalleCompra.Columns[y].Name == "acciones") { if (dgvDetalleCompra.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Modificar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (nuevo) { int index = dgvDetalleCompra.CurrentRow.Index; // Identificando la fila actual del datagridview int idPresentacion = Convert.ToInt32(dgvDetalleCompra.Rows[index].Cells[3].Value); // obteniedo el idRegistro del datagridview DetalleC aux = detalleC.Find(x => x.idPresentacion == idPresentacion); dgvDetalleCompra.Rows.RemoveAt(index); detalleC.Remove(aux); calculoSubtotal(); calcularDescuento(); } else { int index = dgvDetalleCompra.CurrentRow.Index; int idPresentacion = Convert.ToInt32(dgvDetalleCompra.Rows[index].Cells[3].Value); // obteniedo el idRegistro del datagridview DetalleC aux = detalleC.Find(x => x.idPresentacion == idPresentacion); aux.estado = 9; dgvDetalleCompra.ClearSelection(); dgvDetalleCompra.Rows[index].DefaultCellStyle.BackColor = Color.FromArgb(255, 224, 224); dgvDetalleCompra.Rows[index].DefaultCellStyle.ForeColor = Color.FromArgb(250, 5, 73); decorationDataGridView(); calculoSubtotal(); calcularDescuento(); } } }
private void decorationDataGridView() { if (dgvDetalleCompra.Rows.Count == 0) { return; } foreach (DataGridViewRow row in dgvDetalleCompra.Rows) { int idPresentacion = Convert.ToInt32(row.Cells[3].Value); // obteniedo el idCategoria del datagridview DetalleC aux = detalleC.Find(x => x.idPresentacion == idPresentacion); // Buscando la categoria en las lista de categorias if (aux.estado == 0 || aux.estado == 9) { dgvDetalleCompra.ClearSelection(); row.DefaultCellStyle.BackColor = Color.FromArgb(255, 224, 224); row.DefaultCellStyle.ForeColor = Color.FromArgb(250, 5, 73); } } }
private void btnModificar_Click(object sender, EventArgs e) { if (dgvDetalleCompra.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Modificar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } int index = dgvDetalleCompra.CurrentRow.Index; // Identificando la fila actual del datagridview int idPresentacion = Convert.ToInt32(dgvDetalleCompra.Rows[index].Cells[3].Value); // obteniedo el idRegistro del datagridview DetalleC aux = detalleC.Find(x => x.idPresentacion == idPresentacion); aux.cantidad = toDouble(txtCantidad.Text); aux.cantidadUnitaria = toDouble(txtCantidad.Text); aux.precioUnitario = Convert.ToDouble(txtPrecioUnitario.Text, CultureInfo.GetCultureInfo("en-US")); aux.total = double.Parse(txtTotalProducto.Text, CultureInfo.GetCultureInfo("en-US")); detalleCompraBindingSource.DataSource = null; detalleCompraBindingSource.DataSource = detalleC; dgvDetalleCompra.Refresh(); // Calculo de totales y subtotales calculoSubtotal(); calcularDescuento(); }
private void dgvDetalleCompra_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { // Verificando la existencia de datos en el datagridview if (dgvDetalleCompra.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Modificar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } int index = dgvDetalleCompra.CurrentRow.Index; // Identificando la fila actual del datagridview int idPresentacion = Convert.ToInt32(dgvDetalleCompra.Rows[index].Cells[3].Value); // obteniedo el idRegistro del datagridview DetalleC aux = detalleC.Find(x => x.idPresentacion == idPresentacion); // Buscando la registro especifico en la lista de registros cbxCodigoProducto.Text = aux.codigoProducto; cbxDescripcion.Text = aux.descripcion; cbxVariacion.Text = aux.nombreCombinacion; cbxDescripcion.Text = aux.nombrePresentacion; txtCantidad.Text = string.Format(CultureInfo.GetCultureInfo("en-US"), formato, aux.cantidad); txtPrecioUnitario.Text = String.Format(CultureInfo.GetCultureInfo("en-US"), formato, aux.precioUnitario); txtDescuento.Text = string.Format(CultureInfo.GetCultureInfo("en-US"), formato, aux.descuento); txtTotalProducto.Text = string.Format(CultureInfo.GetCultureInfo("en-US"), formato, aux.total); btnAgregar.Enabled = false; }
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; }
private void btnAgregar_Click(object sender, EventArgs e) { //validando campos if (txtPrecioUnitario.Text == "") { txtPrecioUnitario.Text = "0"; } if (txtDescuento.Text == "") { txtDescuento.Text = "0"; } if (txtCantidad.Text == "") { txtCantidad.Text = "0"; } bool seleccionado = false; if (cbxCodigoProducto.SelectedValue != null) { seleccionado = true; } if (cbxDescripcion.SelectedValue != null) { seleccionado = true; } if (seleccionado) { if (detalleC == null) { detalleC = new List <DetalleC>(); } DetalleC detalleCompra = new DetalleC(); if (exitePresentacion(Convert.ToInt32(cbxDescripcion.SelectedValue))) { MessageBox.Show("Este dato ya fue agregado", "presentacion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Creando la lista detalleCompra.cantidad = Int32.Parse(txtCantidad.Text.Trim(), CultureInfo.GetCultureInfo("en-US")); /// Busqueda presentacion Presentacion findPresentacion = presentaciones.Find(x => x.idPresentacion == Convert.ToInt32(cbxDescripcion.SelectedValue)); detalleCompra.cantidadUnitaria = toDouble(txtCantidad.Text); detalleCompra.codigoProducto = cbxCodigoProducto.Text.Trim(); detalleCompra.descripcion = cbxDescripcion.Text.Trim(); detalleCompra.descuento = Convert.ToDouble(txtDescuento.Text.Trim(), CultureInfo.GetCultureInfo("en-US")); detalleCompra.estado = 1; detalleCompra.idCombinacionAlternativa = Convert.ToInt32(cbxVariacion.SelectedValue); detalleCompra.idCompra = 0; detalleCompra.idDetalleCompra = 0; detalleCompra.idPresentacion = Convert.ToInt32(cbxDescripcion.SelectedValue); detalleCompra.idProducto = Convert.ToInt32(cbxCodigoProducto.SelectedValue); detalleCompra.idSucursal = ConfigModel.sucursal.idSucursal; detalleCompra.nombreCombinacion = cbxVariacion.Text; detalleCompra.nombreMarca = currentProducto.nombreMarca; detalleCompra.nombrePresentacion = cbxDescripcion.Text; detalleCompra.nro = 1; detalleCompra.precioUnitario = double.Parse(txtPrecioUnitario.Text.Trim(), CultureInfo.GetCultureInfo("en-US")); detalleCompra.total = double.Parse(txtTotalProducto.Text.Trim(), CultureInfo.GetCultureInfo("en-US")); // agrgando un nuevo item a la lista detalleC.Add(detalleCompra); // Refrescando la tabla detalleCBindingSource.DataSource = null; detalleCBindingSource.DataSource = detalleC; dgvDetalleCompra.Refresh(); // Calculo de totales y subtotales e impuestos calculoSubtotal(); calcularDescuento(); limpiarCamposProducto(); } else { MessageBox.Show("Error: elemento no seleccionado", "agregar Elemento", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }