예제 #1
0
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (ComprobarDatosIntroducidos())
            {
                FacturaGaraje factura = new FacturaGaraje();
                factura.Id            = int.Parse(TxtNumFactura.Text);
                factura.Fecha         = DtFecha.Value;
                factura.EstaPagada    = CkBoxPagada.Checked;
                factura.BaseImponible = decimal.Parse(TxtBaseImponible.Text, CultureInfo.InvariantCulture.NumberFormat);
                factura.Iva           = decimal.Parse(TxtIva.Text, CultureInfo.InvariantCulture.NumberFormat);
                factura.Total         = decimal.Parse(TxtTotalFactura.Text, CultureInfo.InvariantCulture.NumberFormat);

                if (Convert.ToInt32(BtnAddFactura.Tag) == 1)                // Insertamos la nueva factura.
                {
                    factura.Cliente.Id = ((ClienteGaraje)CbClientes.SelectedItem).Id;
                    factura.Garaje.Id  = ((Garaje)CbGarajes.SelectedItem).Id;
                    factura.Cliente.Alquiler.IdTipoAlquiler = ((Alquiler)CbConceptos.SelectedItem).IdTipoAlquiler;

                    if (factura.Insertar())
                    {
                        MessageBox.Show("Factura guardada", "Factura Guardada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BindingSource.DataSource = FacturaGaraje.ObtenerFacturas();

                        int pos = ((List <FacturaGaraje>)BindingSource.DataSource).IndexOf(new FacturaGaraje(factura.Id));
                        BindingSource.Position = pos;

                        HabilitarControles(false);
                        CargarDatosComboBox(false, false, false);
                    }
                    else
                    {
                        MessageBox.Show("Ha habido un problema al guardar la factura", "Factura no Guardada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (Convert.ToInt32(BtnModificarFactura.Tag) == 1)             // Modificamos los datos de la factura.
                {
                    if (factura.Modificar())
                    {
                        MessageBox.Show("Factura modificada", "Factura Modificada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BindingSource.DataSource = FacturaGaraje.ObtenerFacturas();

                        int pos = ((List <FacturaGaraje>)BindingSource.DataSource).IndexOf(new FacturaGaraje(factura.Id));
                        BindingSource.Position = pos;

                        HabilitarControles(false);
                        CargarDatosComboBox(false, false, false);
                    }
                    else
                    {
                        MessageBox.Show("Ha habido un problema al modificar la factura", "Factura no Modificada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            RestaurarTagsBotones();
        }
        private void BtnGuardar_Click(object sender, EventArgs e)
        {
            if (ComprobarDatosIntroducidos())
            {
                FacturaGaraje factura = new FacturaGaraje();
                foreach (DataGridViewRow fila in DgvFactsGarajes.SelectedRows)
                {
                    factura.Id = Convert.ToInt32(fila.Cells[0].Value);
                }

                factura.Fecha         = DtFecha.Value;
                factura.EstaPagada    = CkBoxPagada.Checked;
                factura.BaseImponible = decimal.Parse(TxtBaseImponible.Text);
                factura.Iva           = decimal.Parse(TxtIva.Text);
                factura.Total         = decimal.Parse(TxtTotalFactura.Text);

                if (factura.Modificar())
                {
                    if (IdCliente >= 1)
                    {
                        CargarFacturas(true);
                    }
                    else
                    {
                        CargarFacturas(false);
                    }

                    CompletarDetallesFactura(0);
                    MessageBox.Show("Factura Actualizada", "Factura Actualizada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Ha habido un problema al actualizar la factura", "Factura no Actualizada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Los datos introducidos no son correctos", "Datos Incorrectos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }