public PantallaFacturas()
 {
     InitializeComponent();
     _factura = new FacturaCEN();
     _factGV = new List<FacturaGV>();
     this.Load += facturaGrid_Load;
 }
 private void eliminarFacturasInstalacion(string instalacion)
 {
     IList<FacturaEN> lista = new List<FacturaEN>();
     FacturaCEN factura = new FacturaCEN();
     lista = factura.ObtenerFacturasInstalacion(instalacion);
     foreach (FacturaEN f in lista)
     {
         factura.Eliminar(f.Id);
     }
 }
        private void buttonAceptar_Click(object sender, EventArgs e)
        {
            if (horas_box.Text != "" && precio_hora_box.Text != "")
            {
                FacturaCEN editada = new FacturaCEN();
                float horas = float.Parse(horas_box.Text);
                float precio_h = float.Parse(precio_hora_box.Text);
                float total = horas * precio_h;
                DateTime dt = Convert.ToDateTime(fecha_box.Text);
                editada.Editar(id_box.Text, horas, precio_h, dt, total);

                this.Close();
            }

            else
            {
                MessageBox.Show("Existen campos vacíos");
            }
        }
        private void MostrarCampos(string id)
        {
            FacturaCEN factcen = new FacturaCEN();
            FacturaEN factura = factcen.ObtenerFactura(id);
            id_box.Text = id;
            horas_box.Text = factura.Horas.ToString();
            precio_hora_box.Text = factura.PrecioHora.ToString();
            comboBox_inst.Text = factura.Instalacion.Id;
            fecha_box.Text = factura.Fecha.ToString();
            total_box.Text = factura.Total.ToString();

            InstalacionCEN instcen = new InstalacionCEN();
            InstalacionEN inst = instcen.ObtenerInstalacion(factura.Instalacion.Id);
            cliente_box.Text = inst.Cliente.Nif;

            id_box.Enabled = false;
            fecha_box.Enabled = false;
            total_box.Enabled = false;
            cliente_box.Enabled = false;
        }
        private void buttonAceptar_Click(object sender, EventArgs e)
        {
            var _factura = new FacturaCEN();
            string id = (new FacturaCEN().ObtenterTodas(0, 0).Count + 1).ToString();

            if (horas_box.Text != "" && precio_hora_box.Text != "")
            {
                DateTime dt = Convert.ToDateTime(fecha_box.Text);
                float horas = float.Parse(horas_box.Text);
                float precio_h = float.Parse(precio_hora_box.Text);
                _factura.Crear(id, horas, precio_h, dt, (horas * precio_h), comboBox_inst.Text);
            }

            else
            {
                MessageBox.Show("Faltan campos por rellenar");
            }

            this.Close();
        }
        private void buttonEliminar_Click(object sender, EventArgs e)
        {
            FacturaCEN _fact = new FacturaCEN();
            InstalacionCEN instalacion = new InstalacionCEN();
            InstalacionGV instgv = (InstalacionGV)instalacionGrid.CurrentRow.DataBoundItem;
            IList<FacturaEN> facturas = _fact.ObtenerFacturasInstalacion(instgv.ID); //new List<string>();
            IList<string> id_facturas = new List<string>();

            foreach (FacturaEN f in facturas)
            {
                id_facturas.Add(f.Id);
            }

            instalacion.Unrelationer_facturas(instgv.ID,id_facturas);

            foreach (string s in id_facturas)
            {
                _fact.Eliminar(s);
            }

            DialogResult dr = MessageBox.Show("¿Desea eliminar la instalación ID " + instgv.ID + ": " + instgv.Nombre + "?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if(dr == DialogResult.Yes)
            {
                instalacion.Eliminar(instgv.ID);
            }
        }
        private void buttonEditar_Click(object sender, EventArgs e)
        {
            if (facturaGrid.SelectedRows == null)
            {
                MessageBox.Show("Seleccione la instalación que desee modificar");
            }

            FacturaCEN factcen = new FacturaCEN();
            FacturaGV fact = (FacturaGV)facturaGrid.CurrentRow.DataBoundItem;
            ModificarFactura mod = new ModificarFactura(fact.id) { Owner = this };
            mod.Owner = this;
            mod.Deactivate += new EventHandler(facturaGrid_Load);
            mod.Show();
        }