private void dialog()
        {
            lock (_objLock)
            {
                try
                {
                    messageToClient("[" + GetDatetime() + "] Server: Velkommen til Power Ranger Auktionen!\n" +
                        "[" + GetDatetime() + "] Server: Lige nu byder vi på denne lækre vare: " + _product.Name + "(" + _product.MinPrice + ")" + _product.Description);

                    _service.BroadCastEvent += this.broadcastAction;

                    while (_runningDialog)
                    {
                        _clientInput = messageFromClient();
                        Auction auction = new Auction(_clientIP, _product);
                        double bet;
                        if (double.TryParse(_clientInput, out bet))
                        {
                            string[] split = auction.Bet(bet).Split('#');

                            if (split[0] == "TRUE")
                            {
                                _service.BroadCastBesked(split[1].ToString());
                                Thread _newThread = new Thread(new ThreadStart(Auction.Hammerslag));
                                _newThread.Start();

                                //Udskriv til console med højeste bud og hvem der fører.
                                Console.WriteLine("#" + _clientIP.Address + ": fører auktionen med " + bet);
                            }
                            else if (split[0] == "FALSE")
                            {
                                messageToClient(split[1].ToString());
                            }
                        }
                        else if (_clientInput.Trim().ToLower() == "/users")
                        {
                            _service.BroadCastBesked(loadAllClients());
                        }
                        else if (_clientInput.Trim().ToLower() == "/bye")
                        {
                            messageToClient("/bye");
                            deleteIpFromList(_clientIP);
                            _service.BroadCastBesked(loadAllClients());
                            Console.WriteLine("[" + GetDatetime() + "] Server: " + _clientIP.Address + " har forladt auktionen");
                            _runningDialog = false;
                            closeSocketConnection();
                        }
                        else
                        {
                            _service.BroadCastBesked("[" + GetDatetime() + "] " + _clientIP.Address + ": " + _clientInput);
                        }
                    }

                }
                catch (Exception)
                {
                    deleteIpFromList(_clientIP);
                    //_service.BroadCastBesked(loadAllClients());
                    closeSocketConnection();
                    Console.WriteLine("[" + GetDatetime() + "] Server: " + _clientIP.Address + " har forladt auktionen");

                }
                finally
                {
                    _service.BroadCastEvent -= this.broadcastAction;
                }
            }
        }