/// <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); }
/// <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); }
/// <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); }
/// <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); }
public override bool Equals(object obj) { FacturaGaraje factura = obj as FacturaGaraje; return(factura != null && Id == factura.Id); }