//Constructor
 public Bestelling(int id, Bestellingstatus status, Tafel tafel, List<BestellingsProduct> producten, DateTime tijd, Medewerker medewerker)
 {
     this.ID = id;
     this.Status = status;
     this.Tafel = tafel;
     this.Producten = producten;
     if (this.Producten == null)
         this.Producten = new List<BestellingsProduct>();
     this.Tijd = tijd;
     this.Medewerker = medewerker;
 }
        public static List<Bestelling> GetOpenstaandeBestellingen()
        {
            List<Bestelling> bestellingen = new List<Bestelling>();

            SqlCommand command = new SqlCommand(@"SELECT tafel_id, tijd_opname, STATUS.status, MEDEWERKER.voornaam, 
                                                MEDEWERKER.achternaam, medewerker_id, MEDEWERKER.medewerker_type, BESTELLING.ID
                                                FROM BESTELLING
                                                JOIN status on BESTELLING.status = status.id
                                                JOIN MEDEWERKER on BESTELLING.medewerker_id = MEDEWERKER.ID
                                                WHERE STATUS.Status != 'Afgerond'");

            SqlDataReader reader = DatabaseReader(command);
            while (reader.Read())
            {
                int tafelID = (int)reader["tafel_id"];
                DateTime tijd = (DateTime)reader["tijd_opname"];
                Bestellingstatus status = (Bestellingstatus)Enum.Parse(typeof(Bestellingstatus), (string)reader["status"]);
                string voornaam = (string)reader["voornaam"];
                voornaam = voornaam.Trim();
                int medewerkeridstring = (int)reader["medewerker_id"];
                string achternaam = (string)reader["achternaam"];
                achternaam = achternaam.Trim();
                Medewerkertype medewerkertype = (Medewerkertype)Enum.Parse(typeof(Medewerkertype), (string)reader["medewerker_type"]);
                int bestellingID = (int)reader["id"];

                Tafel tafel = Systeem.Tafels.Find(x => x.Nummer == tafelID);
                Medewerker medewerker = new Medewerker(1, voornaam, achternaam, medewerkertype);
                Bestelling bestelling = new Bestelling(bestellingID, status, tafel, null, tijd, medewerker);

                bestellingen.Add(bestelling);
            }
            foreach (Bestelling b in bestellingen)
            {
                b.Producten = GetProductenVanBestelling(b.ID);
            }
           
            return bestellingen;
        }
        //Haalt medewerkerdata op uit database
        public static Medewerker GetMedewerker(int inlogcode, Medewerkertype medewerkertype)
        {
            SqlCommand command = new SqlCommand("SELECT * FROM MEDEWERKER WHERE inlogcode = @Code", conn);
            command.Parameters.AddWithValue("Code", inlogcode.ToString());

            SqlDataReader reader = DatabaseReader(command);

            reader.Read();
            int id = (int)reader["ID"];
            string voornaam = reader["voornaam"].ToString().Trim();
            string achternaam = reader["achternaam"].ToString().Trim();
            Medewerker medewerker = new Medewerker(id, voornaam, achternaam, medewerkertype);
            return medewerker;
        }
 //Maak nieuwe bestelling aan
 public void NieuweBestelling(int tafelNummer, Medewerker medewerker)
 {
     HuidigeBestelling = new Bestelling(0, Bestellingstatus.Openstaand, Tafels[tafelNummer - 1], null, DateTime.Now, medewerker);
 }