public ActionResult PostLogin(LoginModel loginModel) { if (ModelState.IsValid) { // Guid will be used in SignalR auth Guid uuid = Guid.NewGuid(); loginModel.Uuid = uuid.ToString(); Session["loginModel"] = loginModel; return RedirectToAction("index", "home"); } return View(loginModel); }
public void startIrc(LoginModel model) { _loginData = model; _connectionId = Context.ConnectionId; foreach (IrcTask t in Connections.Values) { if (t.User_uuid.Equals(model.Uuid)) { // Resume old connection Connections.Remove(t.Connection_id); Connections.Add(_connectionId, t); t.Connection_id = _connectionId; t.sendCommand("motd"); t.onConnectionResume(); // Manually trigger user list update function t.onUserListUpdate(); return; } } IrcConfiguration conf = new IrcConfiguration(); conf.Server = _loginData.Server; conf.NickName = _loginData.Name; conf.Channel = _loginData.Channel; if (null != _loginData.Port) { conf.Port = (int)_loginData.Port; } conf.ChannelPassword = _loginData.ChannelPassword; conf.ServerPassword = _loginData.ServerPassword; _stayLogged = _loginData.StayLogged; IrcTask ircTask = new IrcTask(this, _connectionId, _loginData.Uuid, conf); Connections.Add(_connectionId, ircTask); }