public void Load(SqliteConnection conn, string id) { //Debug.WriteLine("PersoonModel.Load(" + id + ")"); bool shouldClose = false; // clear last connection to preventcirculair call to update _conn = null; // Is the database already open? if (conn.State != ConnectionState.Open) { shouldClose = true; conn.Open(); } // Execute query using (var command = conn.CreateCommand()) { // Create new command command.CommandText = "SELECT ID, Achternaam, Adres, Email, " + "Geboortedatum, Imagepath, Initialen, Mobiel, Postcode, " + "Telefoon, Tussenvoegsel, Voornamen, Woonplaats FROM Persoon WHERE ID = @COL1"; // Populate with data from the record command.Parameters.AddWithValue("@COL1", id); using (var reader = command.ExecuteReader()) { var r = reader.HasRows; while (reader.Read()) { // Pull values back into class ID = (string)reader["ID"]; Achternaam = (string)reader["Achternaam"]; Adres = (string)reader["Adres"]; Email = (string)reader["Email"]; Geboortedatum = AppDelegate.DateTimeToNSDate((DateTime)reader["Geboortedatum"]); Imagepath = (string)reader["Imagepath"]; Initialen = (string)reader["Initialen"]; Mobiel = (string)reader["Mobiel"]; Postcode = (string)reader["Postcode"]; Telefoon = (string)reader["Telefoon"]; Tussenvoegsel = (string)reader["Tussenvoegsel"]; Voornamen = (string)reader["Voornamen"]; Woonplaats = (string)reader["Woonplaats"]; // ook de 'gevolgde opleidingen' laden LoadGevolgdeOpleidingen(conn, ID); // ook de 'aankopen' laden LoadAankopen(conn, ID); // ook de 'onderhoud' laden // var onderhoudArray = new OnderhoudArrayController(); // onderhoudArray.LoadOnderhoud(conn, ID); // InOnderhoud = onderhoudArray.Onderhoud; // ook de 'clubs' laden // var lidmaatschappenArray = new LidmaatschappenArrayController(); // lidmaatschappenArray.LoadLidmaatschappen(conn, ID); // Lidmaatschappen = lidmaatschappenArray.Lidmaatschappen; } } } ////Debug.WriteLine("Joost: " + GevolgdeOpleidingenString); if (shouldClose) { conn.Close(); } // Save last connection _conn = conn; }
public override NSView GetViewForItem(NSTableView tableView, NSTableColumn tableColumn, nint row) { // This pattern allows you reuse existing views when they are no-longer in use. // If the returned view is null, you instance up a new view // If a non-null view is returned, you modify it enough to reflect the new data NSTextField view = (NSTextField)tableView.MakeView(CellIdentifier, this); if (view == null) { view = new NSTextField(); view.Identifier = CellIdentifier; view.BackgroundColor = NSColor.White; view.Bordered = false; view.Selectable = false; view.Editable = false; } // Setup view based on the column selected switch (tableColumn.Title) { case "Achternaam": view.StringValue = DataSource.Personen[(int)row].Achternaam; tableColumn.Width = 140; break; case "Adres": view.StringValue = DataSource.Personen[(int)row].Adres; tableColumn.Width = 200; break; case "Email": view.StringValue = DataSource.Personen[(int)row].Email; tableColumn.Width = 210; break; case "Geboortedatum": DateTime dt = AppDelegate.NSDateToDateTime(DataSource.Personen[(int)row].Geboortedatum); view.StringValue = dt.ToLongDateString(); tableColumn.Width = 210; break; case "Imagepath": view.StringValue = DataSource.Personen[(int)row].Imagepath; tableColumn.Width = 210; break; case "Initialen": view.StringValue = DataSource.Personen[(int)row].Initialen; tableColumn.Width = 65; break; case "Mobiel": view.StringValue = DataSource.Personen[(int)row].Mobiel; tableColumn.Width = 100; break; case "Postcode": view.StringValue = DataSource.Personen[(int)row].Postcode; tableColumn.Width = 60; break; case "Telefoon": view.StringValue = DataSource.Personen[(int)row].Telefoon; tableColumn.Width = 100; break; case "Tussenvoegsel": view.StringValue = DataSource.Personen[(int)row].Tussenvoegsel; tableColumn.Width = 55; break; case "Voornamen": view.StringValue = DataSource.Personen[(int)row].Voornamen; tableColumn.Width = 100; break; case "Woonplaats": view.StringValue = DataSource.Personen[(int)row].Woonplaats; tableColumn.Width = 120; break; case "Opleidingen": view.StringValue = DataSource.Personen[(int)row].GevolgdeOpleidingenString; tableColumn.Width = 360; break; case "Aankopen": view.StringValue = DataSource.Personen[(int)row].AankopenString; tableColumn.Width = 360; break; case "Onderhoud": view.StringValue = DataSource.Personen[(int)row].InOnderhoudString; tableColumn.Width = 360; break; case "Lidmaatschappen": view.StringValue = DataSource.Personen[(int)row].LidmaatschappenString; tableColumn.Width = 360; break; } return(view); }