Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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);
            }
        }