public ICollection <Presupuesto> GetAll() { ICollection <Presupuesto> presupuestos = new List <Presupuesto>(); using (SqlCommand sql = this.CreateCommand()) { if (sql != null) { sql.CommandText = "SELECT * FROM Presupuestos"; SqlDataReader reader = sql.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { IClienteRepository rc = new ClienteRepository(sqlCon, sqlTran); Console.WriteLine("1"); Console.WriteLine("reader.toString():" + reader.ToString()); Cliente c = rc.GetById(reader.GetInt32(2)); Console.WriteLine("2"); VehiculoRepository rv = new VehiculoRepository(sqlCon, sqlTran); Console.WriteLine("3"); Vehiculo v = rv.GetById(reader.GetInt32(3)); Console.WriteLine("4"); Presupuesto p = new Presupuesto(reader.GetInt32(0), reader.GetString(1), reader.GetDouble(2), c, v); Console.WriteLine("5"); Console.WriteLine("presupuestos a añadir a la loista en GetAll() toString:" + p.ToString()); presupuestos.Add(p); Console.WriteLine("6"); } } else { Console.WriteLine("No hay datos"); } reader.Close(); } } return(presupuestos); }
public Presupuesto GetById(int id) { Presupuesto p = null; using (SqlCommand sql = this.CreateCommand()) { if (sql != null) { sql.CommandText = "SELECT * FROM Presupuestos WHERE Id=" + id; SqlDataReader reader = sql.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { /* * //AdoUnitOfWork * //deberia buscar el cliente y el vehiculo * Contracts.IClienteRepository repositorioCliente = new DataLayer.ClienteRepository(); * Services.ClienteService servicioCliente = new Services.ClienteService(repositorioCliente); * Contracts.IVehiculoRepository repositorioVehiculo = new DataLayer.VehiculoRepository(); * Services.VehiculoService servicioVehiculo = new Services.VehiculoService(repositorioVehiculo); * * DomainModel.Cliente miCliente = servicioCliente.buscarCliente((int)rdr[3]); * DomainModel.Vehiculo miVehiculo = servicioVehiculo.buscarVehiculo((int)rdr[4]); * * * IClienteRepository a=new ClienteRepository(); */ //de antes p = new Presupuesto(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetInt32(3)); //p=new Presupuesto(reader.GetInt32(0), reader.GetString(1),reader.GetDecimal(2), miCliente, miVehiculo); Vehiculo v = new Vehiculo(reader.GetInt32(3), "", "", 0); Cliente cl = new Cliente(reader.GetInt32(2), "", "", "", false); double importe = reader.GetDouble(2); string estado = reader.GetString(1); p = new Presupuesto(id, estado, importe, cl, v); } ClienteRepository rc = new ClienteRepository(sqlCon, sqlTran); p.Cliente = rc.GetById(p.Cliente.Id); VehiculoRepository rv = new VehiculoRepository(sqlCon, sqlTran); p.Vehiculo = rv.GetById(p.Vehiculo.Id); } else { Console.WriteLine("No hay datos"); } reader.Close(); } } return(p); /* * DomainModel.Presupuesto nuevo = null; * SqlDataReader rdr = null; * try * { * * if (id != null) * { * crearConexion(); * SqlCommand cmd = new SqlCommand(); * cmd.Connection = conn; * cmd.CommandText = "select * from dbo.Presupuestoes where id=@id"; * cmd.Parameters.AddWithValue(@"id", id); * rdr = cmd.ExecuteReader(); * * while (rdr.Read()) * { * //deberia buscar el cliente y el vehiculo * Contracts.IClienteRepository repositorioCliente = new DataLayer.ClienteRepository(); * Services.ClienteService servicioCliente = new Services.ClienteService(repositorioCliente); * Contracts.IVehiculoRepository repositorioVehiculo = new DataLayer.VehiculoRepository(); * Services.VehiculoService servicioVehiculo = new Services.VehiculoService(repositorioVehiculo); * * DomainModel.Cliente miCliente = servicioCliente.buscarCliente((int)rdr[3]); * DomainModel.Vehiculo miVehiculo = servicioVehiculo.buscarVehiculo((int)rdr[4]); * * nuevo = new DomainModel.Presupuesto((int)rdr[0], (string)rdr[1], (decimal)rdr[2], miCliente, miVehiculo); * } * cerrarConexion(); * } * } * catch (Exception ex) * { * Console.WriteLine("Error: " + ex); * } * finally * { * // close the reader * if (rdr != null) * { * rdr.Close(); * } * * cerrarConexion(); * } * return nuevo;*/ }