Esempio n. 1
0
        private void save()
        {
            string fecha  = txtFecha.Text;
            double compra = Convert.ToDouble(txtCompra.Text);
            double venta  = Convert.ToDouble(txtVenta.Text);

            if (edit)
            {
                int id = Convert.ToInt32(dgvTipoCambio.CurrentRow.Cells["ID"].Value);
                if (tipoCambio.edit(id, fecha, compra, venta))
                {
                    MessageBox.Show("Tipo de Cambio Actulizado", "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    all();
                    clearText();
                }
                else
                {
                    MessageBox.Show("Tipo de Cambio NO Actulizado", "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            else
            {
                DataTable dataTableFecha = new DataTable();
                dataTableFecha = tipoCambio.show(fecha);

                if (dataTableFecha.Rows.Count <= 0)
                {
                    if (tipoCambio.save(fecha, compra, venta))
                    {
                        MessageBox.Show("Tipo de Cambio Guardado", "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        all();
                        clearText();
                    }
                    else
                    {
                        MessageBox.Show("Tipo de Cambio NO Guardado", "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    MessageBox.Show("Tipo de Cambio con Fecha " + fecha + " ya existe\n Busquelo en la lista para modificarlo", "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
        private void dgvRegistroCompras_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            switch (e.ColumnIndex)
            {
            case 3:

                string    fecha = null, compra = null, venta = null;
                DataTable dataTableTipoCambio = new DataTable();

                if (isDate(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasFechaEmision"].Value.ToString()))
                {
                    fecha = dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasFechaEmision"].Value.ToString();

                    dataTableTipoCambio = tipoCambio.show(fecha);
                    if (dataTableTipoCambio.Rows.Count > 0)
                    {
                        compra = dataTableTipoCambio.Rows[0]["Compra"].ToString();
                        venta  = dataTableTipoCambio.Rows[0]["Venta"].ToString();
                    }
                }
                else
                {
                    MessageBox.Show("(" + dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasFechaEmision"].Value.ToString() + ") No es una fecha valida \nIngrese una fecha válida con formato: \ndd/MM/yyyy");
                }

                if (venta == null)
                {
                    MessageBox.Show("No se encontro un tipo de cambio para la fecha: " + fecha, "Tipo de Cambio .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasTipoCambio"].Value = venta;
                }
                break;

            case 4:
                if (!isDate(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasFechaPago"].Value.ToString()))
                {
                    MessageBox.Show("Ingrese una fecha valida con formato: dd/MM/yyyy");
                }
                break;

            case 9:
                string ruc;
                string razonSocial;
                ruc         = dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasProveedorNumeroDocumento"].Value.ToString();
                razonSocial = proveedor.getSupplierName(ruc);
                if (razonSocial == null)
                {
                    MessageBox.Show("No se encontro al proveedor con ruc: " + ruc, "Compras .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    dgvRegistroCompras.Rows[e.RowIndex].Cells[e.ColumnIndex + 2].Value = razonSocial;
                }
                break;

            case 14:
            case 16:
            case 18:
                //Calculos de No BaseInmponible
                double baseImponible = 0, descuento = 0, igv = 0, noGravada = 0;

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasBaseImponible"].Value.ToString() as String))
                {
                    baseImponible = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasBaseImponible"].Value.ToString());
                }

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasDescuento"].Value.ToString() as String))
                {
                    descuento = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasDescuento"].Value.ToString());
                }

                dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasIgv"].Value = Math.Round((baseImponible + descuento) * 0.18, 2);

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasIgv"].Value.ToString() as String))
                {
                    igv = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasIgv"].Value.ToString());
                }

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasNoGravada"].Value.ToString() as String))
                {
                    noGravada = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasNoGravada"].Value.ToString());
                }

                dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasImporteTotal"].Value = baseImponible + descuento + igv + noGravada;
                double importe_total;
                importe_total = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasImporteTotal"].Value.ToString());

                if (importe_total >= 3500)
                {
                    if (String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["BancarizacionFecha"].Value as String) || String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["BancarizacionBco"].Value as String) || String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["BancarizacionOperacion"].Value as String))
                    {
                        MessageBox.Show("Ingrese Bancarización");
                        dgvRegistroCompras.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
                    }
                    else
                    {
                        dgvRegistroCompras.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
                    }
                }
                break;

            case 19:
                double tipoCambi = 0, dolares = 0;

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasDolares"].Value.ToString() as String))
                {
                    dolares = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasDolares"].Value.ToString());
                }

                if (!String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasTipoCambio"].Value.ToString() as String))
                {
                    tipoCambi = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasTipoCambio"].Value.ToString());
                }

                dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasConversionDolares"].Value = Math.Round((dolares * tipoCambi), 2);
                break;

            case 12:
            case 23:
                string codigo;
                string cuenta;
                codigo = dgvRegistroCompras.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
                cuenta = planContable.getAcount(codigo);
                if (cuenta == null)
                {
                    MessageBox.Show("No se encontro una cuenta con código: " + codigo, "Compras .::. Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    dgvRegistroCompras.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = cuenta;
                }
                break;

            case 27:
                double comprasImporteTotal = 0;
                int    comprasCodigo       = 0;

                if (String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasImporteTotal"].Value.ToString() as String))
                {
                    MessageBox.Show("Ingrese un Importe Total");
                }
                else
                {
                    comprasImporteTotal = Convert.ToDouble(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasImporteTotal"].Value.ToString());
                }

                if (String.IsNullOrEmpty(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasCodigo"].Value.ToString() as String))
                {
                    MessageBox.Show("Ingrese un código");
                }
                else
                {
                    comprasCodigo = Convert.ToInt32(dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasCodigo"].Value.ToString());
                }

                DataTable dataTableDetraccion = new DataTable();
                dataTableDetraccion = detraccion.show(comprasCodigo);
                if (dataTableDetraccion.Rows.Count > 0)
                {
                    double detraccionProcentaje = Convert.ToDouble(dataTableDetraccion.Rows[0]["porcentaje"].ToString());
                    dgvRegistroCompras.Rows[e.RowIndex].Cells["comprasConstanciaReferencia"].Value = comprasImporteTotal * detraccionProcentaje;
                }
                else
                {
                    MessageBox.Show("Ingrese un número entero (1 - 5)");
                }
                break;
            }
        }