#region License Information
/* HeuristicLab
* Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
*
* This file is part of HeuristicLab.
*
* HeuristicLab is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* HeuristicLab is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with HeuristicLab. If not, see .
*/
#endregion
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HeuristicLab.Hive.Contracts.Interfaces;
using HeuristicLab.Hive.Contracts.BusinessObjects;
using HeuristicLab.Hive.Contracts;
using System.Security.Cryptography;
using System.Net;
namespace HeuristicLab.Hive.Server.ServerConsole {
public partial class HiveServerConsole : Form {
HiveServerManagementConsole information = null;
public HiveServerConsole() {
InitializeComponent();
tbIp.Text = "10.20.53.1";
tbPort.Text = WcfSettings.GetDefaultPort().ToString();
tbUserName.Text = "a";
tbPwd.Text = "a";
}
private void tsmiExit_Click(object sender, EventArgs e) {
this.Close();
}
///
/// When login button is clicked, the ManagementConsole
/// will be opened
///
///
///
private void BtnLogin_Click(object sender, EventArgs e) {
string newIp = tbIp.Text;
newIp = newIp.Replace(" ", "");
ServiceLocator.Address = newIp;
ServiceLocator.Port = this.tbPort.Text;
if (IsValid()) {
this.Visible = false;
information = new HiveServerManagementConsole();
information.closeFormEvent += new closeForm(EnableForm);
information.Show();
}
}
///
/// if the input is correct and the login-method returns a
/// valid response
///
///
private bool IsValid() {
if ((tbUserName.Text != "") &&
(tbPwd.Text != "") &&
(tbIp.Text != "") &&
(tbPort.Text != "")) {
try {
IPAddress ipAdress;
int port;
if ((IPAddress.TryParse(tbIp.Text, out ipAdress)) &&
int.TryParse(tbPort.Text, out port)) {
IServerConsoleFacade scf = ServiceLocator.GetServerConsoleFacade();
Response resp = scf.Login(tbUserName.Text, tbPwd.Text);
string str = resp.StatusMessage;
if (resp.StatusMessage != "Logged in") {
return false;
}
} else {
lblError.Text = "IP or Port not valid";
}
}
catch (Exception ex) {
lblError.Text = "Server not online";
return false;
}
return true;
} else {
if (tbUserName.Text == "") {
lblError.Text = "Please type in Username";
} else if (tbPwd.Text == "") {
lblError.Text = "Please type in Password";
} else if (tbPort.Text == "") {
lblError.Text = "Please type in Port";
} else if (tbIp.Text == "") {
lblError.Text = "Please type in IP-Adress";
}
return false;
}
}
private void EnableForm(bool cf, bool error) {
if (cf) {
this.Visible = true;
ServiceLocator.ShutDownFacade();
if (error == true) {
lblError.Text = "Something went wrong with the server";
}
}
}
private void HiveServerConsole_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)Keys.Return) {
BtnLogin_Click(sender, e);
}
}
}
}