private void ComprobantesForm_Load(object sender, EventArgs e)
        {
            ComprobantesManager         comp     = new ComprobantesManager();
            ArticulosComprobanteManager detalles = new ArticulosComprobanteManager();

            metroComboBoxCentroCosto.DataSource    = comp.ListarCentroCosto();
            metroComboBoxCentroCosto.DisplayMember = "CentroCosto";
            metroComboBoxCentroCosto.ValueMember   = "IdCentroCosto";

            metroComboBoxContable.DataSource    = comp.ListarContable();
            metroComboBoxContable.DisplayMember = "Contable1";
            metroComboBoxContable.ValueMember   = "IdContable";

            metroComboBoxTipoFactura.DataSource    = comp.ListarTipoFactura();
            metroComboBoxTipoFactura.DisplayMember = "TipoFactura";
            metroComboBoxTipoFactura.ValueMember   = "IdTipoFactura";

            metroComboBoxCondicionCompra.DataSource    = comp.ListarCondicionCompra();
            metroComboBoxCondicionCompra.DisplayMember = "Condiciondecompra";
            metroComboBoxCondicionCompra.ValueMember   = "IdCondicionCompra";

            metroComboBoxTipoComprobante.DataSource    = comp.ListarTipoComprobantes();
            metroComboBoxTipoComprobante.DisplayMember = "TipoComprobante";
            metroComboBoxTipoComprobante.ValueMember   = "IdTipoComprobante";

            metroComboBoxMedioPago.DataSource    = comp.MediosdePago();
            metroComboBoxMedioPago.DisplayMember = "MediosPago1";
            metroComboBoxMedioPago.ValueMember   = "IdMedioPago";



            //autocomplete textbox con proveedores

            ProveedorManager p = new ProveedorManager();

            AutoCompleteStringCollection sourcename = new AutoCompleteStringCollection();

            sourcename.AddRange(p.listarNombreProveedores().ToArray());
            metroTextBoxProveedor.AutoCompleteMode         = AutoCompleteMode.Suggest;
            metroTextBoxProveedor.AutoCompleteSource       = AutoCompleteSource.CustomSource;
            metroTextBoxProveedor.AutoCompleteCustomSource = sourcename;
            //autocompletar combobox articulos

            ArticuloManager a = new ArticuloManager();
            AutoCompleteStringCollection sourcename2 = new AutoCompleteStringCollection();

            sourcename2.AddRange(a.ListarNombresArticulos().ToArray());
            this.metroTextBoxProducto.AutoCompleteMode         = AutoCompleteMode.Suggest;
            this.metroTextBoxProducto.AutoCompleteSource       = AutoCompleteSource.CustomSource;
            this.metroTextBoxProducto.AutoCompleteCustomSource = sourcename2;

            //deshabilitar paneles y botones
            metroPanelProducto.Enabled          = false;
            metroGridProductosServicios.Enabled = false;
            metroPanelGastos.Enabled            = false;
            metroPanelPago.Enabled       = false;
            metroButtonConfirmar.Enabled = false;
            metroButtonDescartar.Enabled = false;
        }
        private void metroButtonCancelarProducto_Click(object sender, EventArgs e)
        {
            try
            {
                ProveedorManager prov = new ProveedorManager();
                if (metroGridProductosServicios.Rows.Count == 0)
                {
                    MessageBox.Show("Error, no tiene articulo para eliminar", "Sistema de Gestion", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    ArticulosComprobanteManager a    = new ArticulosComprobanteManager();
                    ComprobantesManager         comp = new ComprobantesManager();
                    if (a.EliminarArticuloComprobante(int.Parse(metroGridProductosServicios.CurrentRow.Cells["ID"].Value.ToString())) == 1)
                    {
                        MessageBox.Show("Se ha eliminado Correctamente", "Sistema de Gestion Integral", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        List <SeleccionarDetalleComprobantesArticulos_Result> listarticulo = a.SeleccionarDetallesComprobantesArticulos(comp.DevolverIDporNoFactura(metroTextBoxPuntoV.Text, metroTextBoxNoFactura.Text, prov.DevolverIdPRoveedorporNombre(metroTextBoxProveedor.Text)));
                        metroGridProductosServicios.AutoGenerateColumns = false;
                        metroGridProductosServicios.DataSource          = listarticulo;
                        metroGridProductosServicios.AutoSize            = true;

                        foreach (var item in listarticulo)
                        {
                            ID.DataPropertyName            = "idTable_DetallesComprobanteArticulos";
                            IDComprobante.DataPropertyName = "IdComprobante";
                            Producto.DataPropertyName      = "Nombre";
                            Cantidad.DataPropertyName      = "Cantidad";
                            PrecioCompra.DataPropertyName  = "Precio";
                            Iva.DataPropertyName           = "Iva";
                            Importe.DataPropertyName       = "Importe";
                        }
                    }
                    else
                    {
                        MessageBox.Show("Error Al eliminar el Proveedor");
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void metroTextBoxPrecio_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                try
                {
                    DetallesComprobanteArticulos art = new DetallesComprobanteArticulos();
                    ArticuloManager             a    = new ArticuloManager();
                    ArticulosComprobanteManager detalleTableArticulocomprobantes = new ArticulosComprobanteManager();
                    ComprobantesManager         comp = new ComprobantesManager();

                    ProveedorManager p = new ProveedorManager();
                    if (string.IsNullOrEmpty(metroTextBoxProducto.Text) == true || string.IsNullOrEmpty(metroTextBoxCantidad.Text) == true || String.IsNullOrEmpty(metroTextBoxPuntoV.Text) == true || string.IsNullOrEmpty(metroTextBoxNoFactura.Text) == true)
                    {
                        MessageBox.Show("Debe Ingresar el Articulo", "Sistema de Gestion de Compras", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        if (metroCheckBoxIvaExento.Checked == true)
                        {
                            ////INSERTAR EN LA TABLA ARTICULOS COMPROBANTES
                            //DetallesComprobanteArticulos art = new DetallesComprobanteArticulos();
                            //ArticuloManager a = new ArticuloManager();
                            //ArticulosComprobanteManager detalleTableArticulocomprobantes = new ArticulosComprobanteManager();
                            //ComprobantesManager comp = new ComprobantesManager();

                            double precioxcant  = 0;
                            double ivacalculado = 0;



                            precioxcant = Convert.ToDouble(metroTextBoxPrecio.Text.Replace(".", ",")) * Convert.ToDouble(metroTextBoxCantidad.Text.Replace(".", ","));



                            detalleTableArticulocomprobantes.InsertarTableArticuloComprobante(comp.DevolverIDporNoFactura(metroTextBoxPuntoV.Text, metroTextBoxNoFactura.Text, p.DevolverIdPRoveedorporNombre(metroTextBoxProveedor.Text)),
                                                                                              a.DevolverIDporNombre(metroTextBoxProducto.Text), Convert.ToDouble(metroTextBoxCantidad.Text.Replace(".", ",")),
                                                                                              Math.Round(Convert.ToDouble(metroTextBoxPrecio.Text.Replace(".", ",")), 2), 0,
                                                                                              ivacalculado,
                                                                                              Math.Round(precioxcant + ivacalculado, 2));

                            List <View_DetalleArticuloComprobante> listarticulo = comp.VistaComprobantesArticulos(comp.DevolverIDporNoFactura(metroTextBoxPuntoV.Text, metroTextBoxNoFactura.Text, p.DevolverIdPRoveedorporNombre(metroTextBoxProveedor.Text)));
                            metroGridProductosServicios.AutoGenerateColumns = false;
                            metroGridProductosServicios.DataSource          = listarticulo;
                            metroGridProductosServicios.AutoSize            = false;

                            foreach (var item in listarticulo)
                            {
                                ID.DataPropertyName            = "idTable_DetallesComprobanteArticulos";
                                IDComprobante.DataPropertyName = "IdComprobante";
                                Producto.DataPropertyName      = "Nombre";
                                Cantidad.DataPropertyName      = "Cantidad";
                                PrecioCompra.DataPropertyName  = "Precio";
                                Iva.DataPropertyName           = "Iva";
                                Importe.DataPropertyName       = "Importe";
                            }
                            metroTextBoxProducto.Text = "";

                            metroTextBoxCantidad.Clear();
                            metroTextBoxPrecio.Clear();

                            metroCheckBoxIvaExento.Checked = false;
                            metroPanelPago.Enabled         = true;
                            metroPanelGastos.Enabled       = true;
                            metroButtonConfirmar.Enabled   = true;
                            metroButtonDescartar.Enabled   = true;
                        }

                        else
                        {
                            //INSERTAR EN LA TABLA ARTICULOS COMPROBANTES
                            //DetallesComprobanteArticulos art = new DetallesComprobanteArticulos();
                            //ArticuloManager a = new ArticuloManager();
                            //ArticulosComprobanteManager detalleTableArticulocomprobantes = new ArticulosComprobanteManager();
                            //ComprobantesManager comp = new ComprobantesManager();

                            double precioxcant  = 0;
                            double ivacalculado = 0;


                            ivacalculado = Convert.ToDouble(metroTextBoxPrecio.Text.Replace(".", ",")) * Convert.ToDouble(metroTextBoxCantidad.Text.Replace(".", ",")) * Convert.ToDouble(metroTextBoxIva.Text.Replace(".", ",")) / 100;
                            precioxcant  = Convert.ToDouble(metroTextBoxPrecio.Text.Replace(".", ",")) * Convert.ToDouble(metroTextBoxCantidad.Text.Replace(".", ","));



                            detalleTableArticulocomprobantes.InsertarTableArticuloComprobante(comp.DevolverIDporNoFactura(metroTextBoxPuntoV.Text, metroTextBoxNoFactura.Text, p.DevolverIdPRoveedorporNombre(metroTextBoxProveedor.Text)),
                                                                                              a.DevolverIDporNombre(metroTextBoxProducto.Text), Convert.ToDouble(metroTextBoxCantidad.Text.Replace(".", ",")),
                                                                                              Math.Round(Convert.ToDouble(metroTextBoxPrecio.Text.Replace(".", ",")), 2), Convert.ToDouble(metroTextBoxIva.Text.Replace(".", ",")),
                                                                                              ivacalculado,
                                                                                              Math.Round(precioxcant + ivacalculado, 2));
                            List <View_DetalleArticuloComprobante> listarticulo = comp.VistaComprobantesArticulos(comp.DevolverIDporNoFactura(metroTextBoxPuntoV.Text, metroTextBoxNoFactura.Text, p.DevolverIdPRoveedorporNombre(metroTextBoxProveedor.Text)));
                            metroGridProductosServicios.AutoGenerateColumns = false;
                            metroGridProductosServicios.DataSource          = listarticulo;
                            metroGridProductosServicios.AutoSize            = false;

                            foreach (var item in listarticulo)
                            {
                                ID.DataPropertyName            = "idTable_DetallesComprobanteArticulos";
                                IDComprobante.DataPropertyName = "IdComprobante";
                                Producto.DataPropertyName      = "Nombre";
                                Cantidad.DataPropertyName      = "Cantidad";
                                PrecioCompra.DataPropertyName  = "Precio";
                                Iva.DataPropertyName           = "Iva";
                                Importe.DataPropertyName       = "Importe";
                            }
                            metroTextBoxProducto.Text = "";

                            metroTextBoxCantidad.Clear();
                            metroTextBoxPrecio.Clear();

                            metroButtonConfirmar.Enabled = true;
                            metroButtonDescartar.Enabled = true;
                            metroPanelPago.Enabled       = true;
                            metroPanelGastos.Enabled     = true;
                        }
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }
        }