public static List<Cliente> ObtenerTodos() { List<Cliente> listaClientes = new List<Cliente>(); SqlConnection con = new SqlConnection(cadena); try { con.Open(); string sql = "SELECT c.idCliente, c.apellido, c.nombre, t.idTipoDocumento, t.nombreTipoDocumento, c.numeroDocumento, c.fechaNacimiento, c.genero FROM Clientes c JOIN TiposDocumento T ON (c.idTipoDocumento = t.idTipoDocumento)"; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.Connection = con; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Cliente c = new Cliente(); c.idCliente = (int)dr["idCliente"]; c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.numeroDocumento = (int)dr["numeroDocumento"]; c.fechaNacimiento = DateTime.Parse(dr["fechaNacimiento"].ToString()); TipoDocumento tipoDoc = new TipoDocumento(); tipoDoc.idTipoDocumento = (int)dr["idTipoDocumento"]; tipoDoc.nombreTipoDocumento = dr["nombreTipoDocumento"].ToString(); c.tipoDocumento = tipoDoc; c.genero = (bool?)dr["genero"]; c.generarString(); c.completarNombre(); listaClientes.Add(c); } } catch (SqlException e) { throw new ApplicationException("Surgió un porblema al obtener clientes"); } finally { con.Close(); } return listaClientes; }
public static List<Reparacion> Obtener(int idVehiculo, int idEstado, decimal totalDesde, decimal totalHasta, string orden) { List<Reparacion> listaReparaciones = new List<Reparacion>(); SqlConnection con = new SqlConnection(cadena); try { con.Open(); SqlCommand cmd = new SqlCommand(); string sql = "SELECT Reparaciones.idReparacion, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, EstadosReparacion.nombreEstado, Reparaciones.fechaFin, Reparaciones.totalMO"; //Facturas.numeroFactura, Facturas.fechaFactura, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Clientes.numeroDocumento, Reparaciones.totalMO, Facturas.total"; sql += " FROM Reparaciones JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente "; sql += "JOIN EstadosReparacion ON Reparaciones.idEstado = EstadosReparacion.idEstado"; string where = ""; if (idVehiculo != 0) { where += " AND (Vehiculos.idVehiculo = @idVehiculo)"; cmd.Parameters.AddWithValue("@idVehiculo", idVehiculo); } if (idEstado != 0) { where += " AND (EstadosReparacion.idEstado = @idEstado)"; cmd.Parameters.AddWithValue("@idEstado", idEstado); } if (totalDesde > -1 && totalHasta > -1) { where += " AND (Reparaciones.totalMO BETWEEN @totalDesde AND @totalHasta)"; cmd.Parameters.AddWithValue("@totalDesde", totalDesde); cmd.Parameters.AddWithValue("@totalHasta", totalHasta); } else { if (totalDesde > -1) { where += " AND (Reparaciones.totalMO > @totalDesde)"; cmd.Parameters.AddWithValue("@totalDesde", totalDesde); } else { if (totalHasta > -1) { where += " AND (Reparaciones.totalMO < @totalHasta)"; cmd.Parameters.AddWithValue("@totalHasta", totalHasta); } } } if (where != "") { sql += " WHERE "; sql += where.Substring(5); } if(orden != "") { sql += " ORDER BY " + orden; } cmd.CommandText = sql; cmd.Connection = con; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Reparacion r = new Reparacion(); Vehiculo v = new Vehiculo(); Cliente c = new Cliente(); EstadoReparacion e = new EstadoReparacion(); v.dominio = dr["dominio"].ToString(); c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.completarNombre(); e.nombreEstado = dr["nombreEstado"].ToString(); r.idReparacion = (int)dr["idReparacion"]; if(dr["fechaFin"] == DBNull.Value) { r.fechaFin = null; } else r.fechaFin = DateTime.Parse(dr["fechaFin"].ToString()); r.totalMO = (decimal)dr["totalMO"]; v.cliente = c; r.vehiculo = v; r.estadoReparacion = e; listaReparaciones.Add(r); } } catch(SqlException e) { throw e; //new ApplicationException("Surgió un porblema al obtener facturas"); } finally { con.Close(); } return listaReparaciones; }
public static List<Reparacion> ObtenerTodas() { List<Reparacion> listaReparaciones = new List<Reparacion>(); SqlConnection con = new SqlConnection(cadena); try { con.Open(); SqlCommand cmd = new SqlCommand(); string sql = "SELECT Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Reparaciones.idReparacion, Reparaciones.totalMO, EstadosReparacion.nombreEstado"; sql += " FROM Reparaciones INNER JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo INNER JOIN"; sql += " EstadosReparacion ON Reparaciones.idEstado = EstadosReparacion.idEstado INNER JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente"; sql += " WHERE Reparaciones.idEstado = @idEstado"; cmd.Parameters.AddWithValue("@idEstado", 3); cmd.CommandText = sql; cmd.Connection = con; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Reparacion r = new Reparacion(); Vehiculo v = new Vehiculo(); Cliente c = new Cliente(); EstadoReparacion e = new EstadoReparacion(); r.idReparacion = (int)dr["idReparacion"]; v.dominio = dr["dominio"].ToString(); c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.completarNombre(); r.totalMO = (decimal)dr["totalMO"]; e.nombreEstado = dr["nombreEstado"].ToString(); r.estadoReparacion = e; v.cliente = c; r.vehiculo = v; listaReparaciones.Add(r); } } catch (SqlException e) { throw new ApplicationException("Surgió un porblema al obtener reparaciones"); } finally { con.Close(); } return listaReparaciones; }
public static List<Factura> Obtener(DateTime? fechaDesde, DateTime? fechaHasta, int idCliente, decimal totalDesde, decimal totalHasta) { List<Factura> listaFacturas = new List<Factura>(); SqlConnection con = new SqlConnection(cadena); try { con.Open(); SqlCommand cmd = new SqlCommand(); string sql = "SELECT Facturas.numeroFactura, Facturas.fechaFactura, Vehiculos.dominio, Clientes.apellido, Clientes.nombre, Clientes.numeroDocumento, Reparaciones.totalMO, Facturas.total"; sql += " FROM Reparaciones JOIN Facturas ON Reparaciones.idReparacion = Facturas.idReparacion JOIN Vehiculos ON Reparaciones.idVehiculo = Vehiculos.idVehiculo JOIN Clientes ON Vehiculos.idCliente = Clientes.idCliente"; string where = ""; if (fechaDesde != null && fechaHasta != null) { where += " AND (Facturas.fechaFactura BETWEEN @fechaDesde AND @fechaHasta)"; cmd.Parameters.AddWithValue("@fechaDesde", fechaDesde); cmd.Parameters.AddWithValue("@fechaHasta", fechaHasta); } else { if (fechaDesde != null) { where += " AND (Facturas.fechaFactura > @fechaDesde)"; cmd.Parameters.AddWithValue("@fechaDesde", fechaDesde); } else { if (fechaHasta != null) { where += " AND (Facturas.fechaFactura < @fechaHasta)"; cmd.Parameters.AddWithValue("@fechaHasta", fechaHasta); } } } if (idCliente != 0) { where += " AND (Clientes.idCliente = @idCliente)"; cmd.Parameters.AddWithValue("@idCliente", idCliente); } if (totalDesde > -1 && totalHasta > -1) { where += " AND (Facturas.total BETWEEN @totalDesde AND @totalHasta)"; cmd.Parameters.AddWithValue("@totalDesde", totalDesde); cmd.Parameters.AddWithValue("@totalHasta", totalHasta); } else { if (totalDesde > -1) { where += " AND (Facturas.total > @totalDesde)"; cmd.Parameters.AddWithValue("@totalDesde", totalDesde); } else { if (totalHasta > -1) { where += " AND (Facturas.total < @totalHasta)"; cmd.Parameters.AddWithValue("@totalHasta", totalHasta); } } } if (where != "") { sql += " WHERE "; sql += where.Substring(5); } cmd.CommandText = sql; cmd.Connection = con; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Factura f = new Factura(); Reparacion r = new Reparacion(); Vehiculo v = new Vehiculo(); Cliente c = new Cliente(); f.numeroFactura = (int)dr["numeroFactura"]; f.fechaFactura = DateTime.Parse(dr["fechaFactura"].ToString()); v.dominio = dr["dominio"].ToString(); c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.numeroDocumento = (int)dr["numeroDocumento"]; c.completarNombre(); r.totalMO = (decimal)dr["totalMO"]; f.total = (decimal)dr["total"]; v.cliente = c; r.vehiculo = v; f.reparacion = r; listaFacturas.Add(f); } } catch (SqlException e) { throw new ApplicationException("Surgió un porblema al obtener facturas"); } finally { con.Close(); } return listaFacturas; }
public static List<Vehiculo> ObtenerTodos(string orden) { List<Vehiculo> list = new List<Vehiculo>(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = cadena; try { cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; string consulta = "SELECT V.idVehiculo, V.dominio, V.km, pinturaDanada, V.idMarca, M.nombreMarca, V.idCliente, C.nombre, C.apellido, V.ano FROM Vehiculos V JOIN Marcas M ON V.idMarca = M.idMarca JOIN Clientes C ON C.idCliente = V.idCliente"; if(orden != null) consulta += " ORDER BY " + orden; cmd.CommandText = consulta; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Vehiculo v = new Vehiculo(); v.idVehiculo = (int)dr["idVehiculo"]; v.dominio = dr["dominio"].ToString(); if (dr["km"] == DBNull.Value) v.km = null; else v.km = (int?)dr["km"]; v.pinturaDanada = (Boolean)dr["pinturaDanada"]; v.ano = (int)dr["ano"]; Marca m = new Marca(); m.idMarca = (int)dr["idMarca"]; m.nombreMarca = dr["nombreMarca"].ToString(); v.marca = m; Cliente c = new Cliente(); c.idCliente = (int)dr["idCliente"]; c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.completarNombre(); v.cliente = c; list.Add(v); } } catch(SqlException e) { throw e; } finally { cn.Close(); } return list; }
public static Vehiculo ObtenerPorId(int id) { Vehiculo v = new Vehiculo(); SqlConnection cn = new SqlConnection(); cn.ConnectionString = cadena; cn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = cn; string consulta = "SELECT V.idVehiculo, V.dominio, V.km, pinturaDanada, V.idMarca, M.nombreMarca, V.idCliente, C.nombre, C.apellido, V.ano FROM Vehiculos V JOIN Marcas M ON V.idMarca = M.idMarca JOIN Clientes C ON C.idCliente = V.idCliente WHERE V.idVehiculo = @idVehiculo"; cmd.CommandText = consulta; cmd.Parameters.AddWithValue("@idVehiculo", id); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { v.idVehiculo = (int)dr["idVehiculo"]; v.dominio = dr["dominio"].ToString(); if (dr["km"] == DBNull.Value) v.km = null; else v.km = (int?)dr["km"]; v.pinturaDanada = (Boolean)dr["pinturaDanada"]; v.ano = (int)dr["ano"]; Marca m = new Marca(); m.idMarca = (int)dr["idMarca"]; m.nombreMarca = dr["nombreMarca"].ToString(); v.marca = m; Cliente c = new Cliente(); c.idCliente = (int)dr["idCliente"]; c.apellido = dr["apellido"].ToString(); c.nombre = dr["nombre"].ToString(); c.completarNombre(); v.cliente = c; } dr.Close(); cn.Close(); return v; }