private void FrmFactClienteGaraje_Load(object sender, EventArgs e)
        {
            int           numFactura = FacturaGaraje.ObtenerNumFactura();
            ClienteGaraje cliente    = ClienteGaraje.ObtenerDatosClientePorIdParaFactura(IdCliente);

            ReportParameterCollection listaParametros = new ReportParameterCollection();

            listaParametros.Add(new ReportParameter("numFactura", numFactura.ToString()));
            listaParametros.Add(new ReportParameter("fecha", DateTime.Now.ToString()));
            listaParametros.Add(new ReportParameter("nombre", cliente.Nombre));
            listaParametros.Add(new ReportParameter("nif", cliente.Nif));
            listaParametros.Add(new ReportParameter("direccion", cliente.Direccion));
            listaParametros.Add(new ReportParameter("telefono", cliente.Telefono));
            listaParametros.Add(new ReportParameter("marca", cliente.Vehiculo.Marca));
            listaParametros.Add(new ReportParameter("modelo", cliente.Vehiculo.Modelo));
            listaParametros.Add(new ReportParameter("matricula", cliente.Vehiculo.Matricula));
            listaParametros.Add(new ReportParameter("baseImponible", cliente.Alquiler.BaseImponible.ToString()));
            listaParametros.Add(new ReportParameter("iva", cliente.Alquiler.Iva.ToString()));
            listaParametros.Add(new ReportParameter("totalFactura", cliente.Alquiler.Total.ToString()));

            ReportViewer.SetDisplayMode(DisplayMode.PrintLayout);
            ReportViewer.LocalReport.SetParameters(listaParametros);

            ReportViewer.RefreshReport();
        }
        /// <summary>
        /// Carga los datos a los distintos ComboBox.
        /// </summary>
        /// <param name="cargarNombresYApellidos">Indica si hay que cargar los nombres y apellidos de los clientes.</param>
        /// <param name="cargarConceptos">Indica si hay que cargar los conceptos.</param>
        /// <param name="cargarGarajes">Indica si hay que cargar los nombres de los garajes.</param>
        private void CargarDatosComboBox(bool cargarNombresYApellidos, bool cargarConceptos, bool cargarGarajes)
        {
            if (cargarNombresYApellidos)
            {
                CbClientes.DataSource    = ClienteGaraje.ObtenerNombresYApellidos();
                CbClientes.DisplayMember = "Nombre";
                CbClientes.ValueMember   = "Id";
            }

            if (cargarConceptos)
            {
                CbConceptos.DataSource    = Alquiler.ObtenerConceptos();
                CbConceptos.DisplayMember = "Concepto";
                CbConceptos.ValueMember   = "IdTipoAlquiler";
            }

            if (cargarGarajes)
            {
                CbGarajes.DataSource    = Garaje.ObtenerGarajes();
                CbGarajes.DisplayMember = "Nombre";
                CbGarajes.ValueMember   = "Id";
            }

            CbNumsFacturas.DataSource = FacturaGaraje.ObtenerIdsFacturas();
            CbFechas.DataSource       = FacturaGaraje.ObtenerFechas();
        }
        /// <summary>
        /// Carga las facturas encontradas a partir del Id de un cliente.
        /// </summary>
        /// <param name="cargarPorIdCliente">Indica si hay que buscar por el Id del cliente.</param>
        private void CargarFacturas(bool cargarPorIdCliente)
        {
            List <FacturaGaraje> facturas = null;

            if (cargarPorIdCliente)
            {
                facturas = FacturaGaraje.ObtenerFacturasPorIdCliente(IdCliente);
            }
            else
            {
                facturas = FacturaGaraje.ObtenerFacturasPorFecha(Fecha);
            }

            if (DgvFactsGarajes.Rows.Count >= 1)        // Si hubiesen filas en el DataGridView, las eliminamos.
            {
                DgvFactsGarajes.Rows.Clear();
            }

            foreach (FacturaGaraje factura in facturas)
            {
                int posicion = DgvFactsGarajes.Rows.Add();
                DgvFactsGarajes.Rows[posicion].Cells["numFactura"].Value    = factura.Id;
                DgvFactsGarajes.Rows[posicion].Cells["fecha"].Value         = factura.Fecha.ToShortDateString();
                DgvFactsGarajes.Rows[posicion].Cells["cliente"].Value       = factura.Cliente.Nombre;
                DgvFactsGarajes.Rows[posicion].Cells["estaPagada"].Value    = factura.EstaPagada is true ? "Sí" : "No";
                DgvFactsGarajes.Rows[posicion].Cells["concepto"].Value      = factura.Alquiler.Concepto;
                DgvFactsGarajes.Rows[posicion].Cells["garaje"].Value        = factura.Garaje.Nombre;
                DgvFactsGarajes.Rows[posicion].Cells["plaza"].Value         = factura.Plaza;
                DgvFactsGarajes.Rows[posicion].Cells["baseImponible"].Value = factura.BaseImponible;
                DgvFactsGarajes.Rows[posicion].Cells["iva"].Value           = factura.Iva;
                DgvFactsGarajes.Rows[posicion].Cells["totalFactura"].Value  = factura.Total;
            }
        }
        private void CbFechas_SelectionChangeCommitted(object sender, EventArgs e)
        {
            FrmBuscarFactsGarajes frmBuscarFactsGarajes = new FrmBuscarFactsGarajes((DateTime)CbFechas.SelectedItem);

            frmBuscarFactsGarajes.ShowDialog();

            BindingSource.DataSource = FacturaGaraje.ObtenerFacturas();
        }
        private void FrmInfFactGaraje_Load(object sender, EventArgs e)
        {
            FacturaGaraje factura = FacturaGaraje.ObtenerDatosFacturaPorId(IdFactura);

            EstablecerParametrosInforme(factura);
            ReportViewer.SetDisplayMode(DisplayMode.PrintLayout);
            ReportViewer.RefreshReport();
        }
        private void FrmFactTrastero_Load(object sender, EventArgs e)
        {
            int           numFactura = FacturaGaraje.ObtenerNumFactura();
            FacturaGaraje factura    = FacturaGaraje.ObtenerClientePorIdParaFacturaTrastero(IdCliente);

            EstablecerParametrosInforme(factura, numFactura);
            ReportViewer.SetDisplayMode(DisplayMode.PrintLayout);
            ReportViewer.RefreshReport();
        }
        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 BtnImprFactGaraje_Click(object sender, EventArgs e)
        {
            List <FacturaGaraje> listaFacturas = FacturaGaraje.ObtenerFacturasPorFechasInforme(DtFechaInicio.Value, DtFechaFin.Value);

            if (listaFacturas.Count == 0)
            {
                MessageBox.Show("No hay facturas de los garajes para mostrar según las fechas escogidas", "No Existen Facturas", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                FrmFactGarajes frmFactGarajes = new FrmFactGarajes(listaFacturas, DtFechaInicio.Value, DtFechaFin.Value);
                frmFactGarajes.ShowDialog();
            }
        }
        /// <summary>
        /// Rellena los datos de la factura a su campo correspondiente.
        /// </summary>
        /// <param name="factura">Los datos de la factura.</param>
        private void RellenarDatosFactura(FacturaGaraje factura)
        {
            TxtNumFactura.Text = factura.Id.ToString();
            DtFecha.Value      = factura.Fecha;
            CbClientes.Text    = factura.Cliente.Nombre;

            CbConceptos.Text      = factura.Alquiler.Concepto;
            CbGarajes.Text        = factura.Garaje.Nombre;
            TxtPlaza.Text         = factura.Plaza;
            TxtBaseImponible.Text = factura.BaseImponible.ToString();
            TxtIva.Text           = factura.Iva.ToString();
            TxtTotalFactura.Text  = factura.Total.ToString();
            CkBoxPagada.Checked   = factura.EstaPagada;
        }
 private void FrmFactsGaraje_Load(object sender, EventArgs e)
 {
     CargarDatosComboBox(true, true, true);
     if (FacturaGaraje.HayFacturas())
     {
         BindingSource.DataSource = FacturaGaraje.ObtenerFacturas();
         RellenarDatosFactura((FacturaGaraje)BindingSource.Current);
     }
     else
     {
         MessageBox.Show("No hay facturas para mostrar. Introduzca una.", "No hay Facturas", MessageBoxButtons.OK, MessageBoxIcon.Information);
         BtnModificarFactura.Enabled = false;
         BtnEliminarFactura.Enabled  = false;
     }
 }
        private void BtnAddFactura_Click(object sender, EventArgs e)
        {
            BtnAddFactura.Tag = 1;
            HabilitarControles(true);
            TxtNumFactura.Focus();
            FacturaGaraje factura = (FacturaGaraje)BindingSource.Current;

            if (factura != null)
            {
                if (factura.Id != 0)
                {
                    LimpiarCampos();
                }
            }
        }
        /// <summary>
        /// Establece los datos al informe del garaje.
        /// </summary>
        /// <param name="factura">Los datos de la factura.</param>
        /// <param name="numFactura">El número de la factura.</param>
        private void EstablecerParametrosInforme(FacturaGaraje factura, int numFactura)
        {
            ReportParameterCollection listaParametros = new ReportParameterCollection();

            listaParametros.Add(new ReportParameter("numFactura", numFactura.ToString()));
            listaParametros.Add(new ReportParameter("fecha", DateTime.Now.ToString("dd/MM/yyyy")));
            listaParametros.Add(new ReportParameter("nombre", factura.Cliente.Nombre));
            listaParametros.Add(new ReportParameter("nif", factura.Cliente.Nif));
            listaParametros.Add(new ReportParameter("direccion", factura.Cliente.Direccion));
            listaParametros.Add(new ReportParameter("telefono", factura.Cliente.Telefono));
            listaParametros.Add(new ReportParameter("plaza", factura.Alquiler.Plaza));
            listaParametros.Add(new ReportParameter("baseImponible", factura.Alquiler.BaseImponible.ToString()));
            listaParametros.Add(new ReportParameter("iva", factura.Alquiler.Iva.ToString()));
            listaParametros.Add(new ReportParameter("totalFactura", factura.Alquiler.Total.ToString()));
            ReportViewer.LocalReport.SetParameters(listaParametros);
        }
        /// <summary>
        /// Establece los datos al informe del garaje.
        /// </summary>
        /// <param name="factura">Los datos de la factura.</param>
        private void EstablecerParametrosInforme(FacturaGaraje factura)
        {
            ReportParameterCollection listaParametros = new ReportParameterCollection();

            listaParametros.Add(new ReportParameter("numFactura", factura.Id.ToString()));
            listaParametros.Add(new ReportParameter("fecha", factura.Fecha.ToString()));
            listaParametros.Add(new ReportParameter("nombre", factura.Cliente.Nombre));
            listaParametros.Add(new ReportParameter("nif", factura.Cliente.Nif));
            listaParametros.Add(new ReportParameter("direccion", factura.Cliente.Direccion));
            listaParametros.Add(new ReportParameter("tipoAlquiler", factura.Alquiler.Concepto));
            listaParametros.Add(new ReportParameter("garaje", factura.Garaje.Nombre));
            listaParametros.Add(new ReportParameter("plaza", factura.Plaza));
            listaParametros.Add(new ReportParameter("baseImponible", factura.BaseImponible.ToString()));
            listaParametros.Add(new ReportParameter("iva", factura.Iva.ToString()));
            listaParametros.Add(new ReportParameter("totalFactura", factura.Total.ToString()));
            ReportViewer.LocalReport.SetParameters(listaParametros);
        }
        private void BtnEliminarFactura_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("¿Está seguro de que desea eliminar la factura?", "¿Eliminar Factura?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                FacturaGaraje factura = (FacturaGaraje)BindingSource.Current;

                if (factura.Eliminar())
                {
                    MessageBox.Show("Factura eliminada", "Factura Eliminada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    BindingSource.DataSource = FacturaGaraje.ObtenerFacturas();
                    HabilitarControles(false);
                    CargarDatosComboBox(false, false, false);
                    BindingSource.Position = BindingSource.Count - 1;
                }
                else
                {
                    MessageBox.Show("Ha habido un problema al eliminar la factura", "Factura no Eliminada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        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);
            }
        }
Beispiel #16
0
        private void FrmResultados_Load(object sender, EventArgs e)
        {
            MostrarFechaInicioYFin();
            Dictionary <string, decimal[]> resultadosGarajes = new Dictionary <string, decimal[]>();

            for (int i = 1; i <= 5; i++)
            {
                if (Mes >= 1)
                {
                    switch (i)
                    {
                    case 1:
                        resultadosGarajes.Add("GM", new decimal[2] {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("GM", Mes),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("GM", Mes)
                        });

                        TxtEmitidasGm.Text  = resultadosGarajes["GM"][0].ToString();
                        TxtRecibidasGm.Text = resultadosGarajes["GM"][1].ToString();
                        TxtResultadoGm.Text = (resultadosGarajes["GM"][0] - resultadosGarajes["GM"][1]).ToString();
                        break;

                    case 2:
                        resultadosGarajes.Add("C2", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("C2", Mes),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("C2", Mes)
                        });

                        TxtEmitidasC2.Text  = resultadosGarajes["C2"][0].ToString();
                        TxtRecibidasC2.Text = resultadosGarajes["C2"][1].ToString();
                        TxtResultadoC2.Text = (resultadosGarajes["C2"][0] - resultadosGarajes["C2"][1]).ToString();
                        break;

                    case 3:
                        resultadosGarajes.Add("L", new decimal[2]
                        {
                            FacturaLavadero.ObtenerSumaBaseImponiblePorMes(Mes),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("L", Mes)
                        });

                        TxtEmitidasLv.Text  = resultadosGarajes["L"][0].ToString();
                        TxtRecibidasLv.Text = resultadosGarajes["L"][1].ToString();
                        TxtResultadoLv.Text = (resultadosGarajes["L"][0] - resultadosGarajes["L"][1]).ToString();
                        break;

                    case 4:
                        resultadosGarajes.Add("IM", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("IM", Mes),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("IM", Mes)
                        });

                        TxtEmitidasIm.Text  = resultadosGarajes["IM"][0].ToString();
                        TxtRecibidasIm.Text = resultadosGarajes["IM"][1].ToString();
                        TxtResultadoIm.Text = (resultadosGarajes["IM"][0] - resultadosGarajes["IM"][1]).ToString();
                        break;

                    case 5:
                        resultadosGarajes.Add("C19", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("C19", Mes),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYMes("C19", Mes)
                        });

                        TxtEmitidasC19.Text  = resultadosGarajes["C19"][0].ToString();
                        TxtRecibidasC19.Text = resultadosGarajes["C19"][1].ToString();
                        TxtResultadoC19.Text = (resultadosGarajes["C19"][0] - resultadosGarajes["C19"][1]).ToString();
                        break;
                    }
                }
                else
                {
                    switch (i)
                    {
                    case 1:
                        resultadosGarajes.Add("GM", new decimal[2] {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("GM", Anio),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("GM", Anio)
                        });

                        TxtEmitidasGm.Text  = resultadosGarajes["GM"][0].ToString();
                        TxtRecibidasGm.Text = resultadosGarajes["GM"][1].ToString();
                        TxtResultadoGm.Text = (resultadosGarajes["GM"][0] - resultadosGarajes["GM"][1]).ToString();
                        break;

                    case 2:
                        resultadosGarajes.Add("C2", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("C2", Anio),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("C2", Anio)
                        });

                        TxtEmitidasC2.Text  = resultadosGarajes["C2"][0].ToString();
                        TxtRecibidasC2.Text = resultadosGarajes["C2"][1].ToString();
                        TxtResultadoC2.Text = (resultadosGarajes["C2"][0] - resultadosGarajes["C2"][1]).ToString();
                        break;

                    case 3:
                        resultadosGarajes.Add("L", new decimal[2]
                        {
                            FacturaLavadero.ObtenerSumaBaseImponiblePorAnio(Anio),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("L", Anio)
                        });

                        TxtEmitidasLv.Text  = resultadosGarajes["L"][0].ToString();
                        TxtRecibidasLv.Text = resultadosGarajes["L"][1].ToString();
                        TxtResultadoLv.Text = (resultadosGarajes["L"][0] - resultadosGarajes["L"][1]).ToString();
                        break;

                    case 4:
                        resultadosGarajes.Add("IM", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("IM", Anio),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("IM", Anio)
                        });

                        TxtEmitidasIm.Text  = resultadosGarajes["IM"][0].ToString();
                        TxtRecibidasIm.Text = resultadosGarajes["IM"][1].ToString();
                        TxtResultadoIm.Text = (resultadosGarajes["IM"][0] - resultadosGarajes["IM"][1]).ToString();
                        break;

                    case 5:
                        resultadosGarajes.Add("C19", new decimal[2]
                        {
                            FacturaGaraje.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("C19", Anio),
                            FacturaRecibida.ObtenerSumaBaseImponiblePorSubIdGarajeYAnio("C19", Anio)
                        });

                        TxtEmitidasC19.Text  = resultadosGarajes["C19"][0].ToString();
                        TxtRecibidasC19.Text = resultadosGarajes["C19"][1].ToString();
                        TxtResultadoC19.Text = (resultadosGarajes["C19"][0] - resultadosGarajes["C19"][1]).ToString();
                        break;
                    }
                }
            }

            decimal totalFactsEmitidas  = 0;
            decimal totalFactsRecibidas = 0;

            foreach (KeyValuePair <string, decimal[]> resultado in resultadosGarajes)
            {
                totalFactsEmitidas  += resultado.Value[0];
                totalFactsRecibidas += resultado.Value[1];
            }

            decimal totalFacts = totalFactsEmitidas - totalFactsRecibidas;

            TxtTotalEmitidas.Text  = totalFactsEmitidas.ToString();
            TxtTotalRecibidas.Text = totalFactsRecibidas.ToString();
            TxtTotal.Text          = totalFacts.ToString();
        }