Пример #1
0
        /// <summary>
        /// Obtiene todas las facturas de los garajes.
        /// </summary>
        /// <returns>Las facturas de los garajes.</returns>
        public static List <FacturaGaraje> ObtenerFacturas()
        {
            MySqlConnection conexion = Foo.ConexionABd();
            MySqlCommand    comando  = new MySqlCommand(@"SELECT factGaj.id, factGaj.fecha, cliGaj.nif, CONCAT(cliGaj.nombre, ' ', cliGaj.apellidos) AS nombre, factGaj.estaPagada, tAlq.concepto, gaj.nombre AS nombreGaraje,
                                                             alqCli.plaza, factGaj.baseImponible, factGaj.iva, factGaj.total
                                                      FROM   facturasGarajes factGaj
                                                             JOIN clientesGarajes cliGaj ON factGaj.idCliente = cliGaj.id
                                                             JOIN tiposAlquileres tAlq ON factGaj.idTipoAlquiler = tAlq.id
                                                             JOIN garajes gaj ON factGaj.idGaraje = gaj.id
                                                             JOIN alquilerClientesGarajes alqCli ON alqCli.idCliente = cliGaj.id
                                                      ORDER BY factGaj.id;", conexion);

            MySqlDataReader      cursor        = comando.ExecuteReader();
            List <FacturaGaraje> listaFacturas = new List <FacturaGaraje>();

            while (cursor.Read())
            {
                FacturaGaraje factura = new FacturaGaraje();
                factura.Id                = cursor.GetInt32("id");
                factura.Fecha             = cursor.GetDateTime("fecha");
                factura.Cliente.Nombre    = cursor.GetString("nombre");
                factura.EstaPagada        = cursor.GetBoolean("estaPagada");
                factura.Alquiler.Concepto = cursor.GetString("concepto");
                factura.Garaje.Nombre     = cursor.GetString("nombreGaraje");
                factura.Plaza             = cursor.GetString("plaza");
                factura.BaseImponible     = cursor.GetDecimal("baseImponible");
                factura.Iva               = cursor.GetDecimal("iva");
                factura.Total             = cursor.GetDecimal("total");
                listaFacturas.Add(factura);
            }
            cursor.Close();
            conexion.Close();

            return(listaFacturas);
        }
Пример #2
0
        /// <summary>
        /// Obtiene los datos de un cliente de un garaje a partir de su Id para realizar una factura de un trastero.
        /// </summary>
        /// <param name="idCliente">El Id de un cliente.</param>
        /// <returns>Los datos del cliente del garaje.</returns>
        public static FacturaGaraje ObtenerClientePorIdParaFacturaTrastero(int idCliente)
        {
            MySqlConnection conexion = Foo.ConexionABd();
            MySqlCommand    comando  = new MySqlCommand(@"SELECT IF (cliGaj.apellidos IS NOT NULL, CONCAT(cliGaj.nombre, ' ', cliGaj.apellidos), cliGaj.nombre) AS nombre, cliGaj.nif, cliGaj.direccion, cliGaj.telefono,
                                                             alqCli.plaza, alqCli.baseImponible, alqCli.iva, alqCli.total                                                           
                                                      FROM   clientesGarajes cliGaj		 
                                                             JOIN alquilerClientesGarajes alqCli ON alqCli.idCliente = cliGaj.id
                                                      WHERE  cliGaj.id = @id;", conexion);

            comando.Parameters.AddWithValue("@id", idCliente);

            MySqlDataReader cursor  = comando.ExecuteReader();
            FacturaGaraje   factura = new FacturaGaraje();

            while (cursor.Read())
            {
                factura.Cliente.Nombre = cursor.GetString("nombre");

                if (cursor.IsDBNull(1))
                {
                    factura.Cliente.Nif = null;
                }
                else
                {
                    factura.Cliente.Nif = cursor.GetString("nif");
                }

                factura.Cliente.Direccion = cursor.GetString("direccion");

                if (cursor.IsDBNull(3))
                {
                    factura.Cliente.Telefono = null;
                }
                else
                {
                    factura.Cliente.Telefono = cursor.GetString("telefono");
                }

                factura.Cliente.Alquiler               = new Alquiler();
                factura.Cliente.Alquiler.Plaza         = cursor.GetString("plaza");
                factura.Cliente.Alquiler.BaseImponible = cursor.GetDecimal("baseImponible");
                factura.Cliente.Alquiler.Iva           = cursor.GetDecimal("iva");
                factura.Cliente.Alquiler.Total         = cursor.GetDecimal("total");
            }
            cursor.Close();
            conexion.Close();

            return(factura);
        }
Пример #3
0
        /// <summary>
        /// Obtiene todas las facturas a partir de dos fechas para realizar un informe.
        /// </summary>
        /// <returns>Todas las facturas.</returns>
        public static List <FacturaGaraje> ObtenerFacturasPorFechasInforme(DateTime desde, DateTime hasta)
        {
            MySqlConnection conexion = Foo.ConexionABd();
            MySqlCommand    comando  = new MySqlCommand(@"SELECT factGaj.id, factGaj.fecha, IF (cliGaj.apellidos IS NOT NULL, CONCAT(cliGaj.nombre, ' ', cliGaj.apellidos), cliGaj.nombre) AS nombre, cliGaj.nif, cliGaj.direccion, gaj.nombre AS nombreGaraje, factGaj.baseImponible,
		                                                     factGaj.iva, factGaj.total
                                                      FROM   facturasGarajes factGaj
		                                                     JOIN clientesGarajes cliGaj ON cliGaj.id = factGaj.idCliente
		                                                     JOIN garajes gaj ON gaj.id = factGaj.idGaraje
                                                      WHERE  factGaj.fecha BETWEEN @desde AND @hasta
                                                      ORDER BY factGaj.id;", conexion);

            comando.Parameters.AddWithValue("@desde", desde);
            comando.Parameters.AddWithValue("@hasta", hasta);

            MySqlDataReader      cursor        = comando.ExecuteReader();
            List <FacturaGaraje> listaFacturas = new List <FacturaGaraje>();

            while (cursor.Read())
            {
                FacturaGaraje factura = new FacturaGaraje();
                factura.Id             = cursor.GetInt32("id");
                factura.Fecha          = cursor.GetDateTime("fecha");
                factura.Cliente.Nombre = cursor.GetString("nombre");

                if (cursor.IsDBNull(3))
                {
                    factura.Cliente.Nif = null;
                }
                else
                {
                    factura.Cliente.Nif = cursor.GetString("nif");
                }

                factura.Cliente.Direccion = cursor.GetString("nombre");
                factura.Garaje.Nombre     = cursor.GetString("nombreGaraje");
                factura.BaseImponible     = cursor.GetDecimal("baseImponible");
                factura.Iva   = cursor.GetDecimal("iva");
                factura.Total = cursor.GetDecimal("total");
                listaFacturas.Add(factura);
            }
            cursor.Close();
            conexion.Close();

            return(listaFacturas);
        }
Пример #4
0
        /// <summary>
        /// Obtiene los datos de una factura a partir de su Id para realizar el informe.
        /// </summary>
        /// <param name="idFactura">El Id de una factura-</param>
        /// <returns>Los datos de la factura.</returns>
        public static FacturaGaraje ObtenerDatosFacturaPorId(int idFactura)
        {
            MySqlConnection conexion = Foo.ConexionABd();
            MySqlCommand    comando  = new MySqlCommand(@"SELECT factGaj.id, factGaj.fecha, cliGaj.nif, cliGaj.direccion, CONCAT(cliGaj.nombre, ' ', cliGaj.apellidos) AS nombre, factGaj.estaPagada, tAlq.concepto, gaj.nombre AS nombreGaraje,
                                                             alqCli.plaza, factGaj.baseImponible, factGaj.iva, factGaj.total
                                                      FROM   facturasGarajes factGaj
                                                             JOIN clientesGarajes cliGaj ON factGaj.idCliente = cliGaj.id
                                                             JOIN tiposAlquileres tAlq ON factGaj.idTipoAlquiler = tAlq.id
                                                             JOIN garajes gaj ON factGaj.idGaraje = gaj.id
                                                             JOIN alquilerClientesGarajes alqCli ON alqCli.idCliente = cliGaj.id
                                                      WHERE  factGaj.id = @id;", conexion);

            comando.Parameters.AddWithValue("@id", idFactura);

            MySqlDataReader cursor  = comando.ExecuteReader();
            FacturaGaraje   factura = new FacturaGaraje();

            while (cursor.Read())
            {
                factura.Id                = cursor.GetInt32("id");
                factura.Fecha             = cursor.GetDateTime("fecha");
                factura.Cliente.Nif       = cursor.GetString("nif");
                factura.Cliente.Direccion = cursor.GetString("direccion");
                factura.Cliente.Nombre    = cursor.GetString("nombre");
                factura.EstaPagada        = cursor.GetBoolean("estaPagada");
                factura.Alquiler.Concepto = cursor.GetString("concepto");
                factura.Garaje.Nombre     = cursor.GetString("nombreGaraje");
                factura.Plaza             = cursor.GetString("plaza");
                factura.BaseImponible     = cursor.GetDecimal("baseImponible");
                factura.Iva               = cursor.GetDecimal("iva");
                factura.Total             = cursor.GetDecimal("total");
            }
            cursor.Close();
            conexion.Close();

            return(factura);
        }
Пример #5
0
        public override bool Equals(object obj)
        {
            FacturaGaraje factura = obj as FacturaGaraje;

            return(factura != null && Id == factura.Id);
        }