public ActionResult PrivateRoomSchedule(PrivateRooms model, string returnUrl) { var returnModel = new PrivateRoomModel(); var bdModel = DbContextHelper.RoomExistBD(model); //Room n'exist pas dans bd if (bdModel.RoomId == 0) { ModelHelper.PrivateRoomModel(model); ConnectToAvailableHub(); returnModel = CommunicationHandler.CreatePrivateRoom(model); } else //Regarde si la room est en cours { var hubUrl = GetHubRoomExist(model.RoomName); if (hubUrl != "no") { ConnectToHub(hubUrl); //Connexion au room } else { ConnectToAvailableHub(); //Prend le hub le plus libre pour la room } returnModel = CommunicationHandler.GetPrivateRoom(model.RoomName); } returnModel.UserName = System.Web.HttpContext.Current.User.Identity.Name; //User name de l'utilisateur connecter returnModel.SetListCourse(); //La liste des cours pour le dropdown de cours CommunicationHandler.DisposeConnection(); //Arrete la connexion, inutile de la garder ouverte. return(View(returnModel)); }
public static PrivateRoomModel CreatePrivateRoom(PrivateRooms privateRoom) { var r = CurrentPrivateRoomHubProxy.Invoke <PrivateRooms>("CreatePrivateRoom", privateRoom).Result; var pr = new PrivateRoomModel(); pr.From(r); pr.HubUrl = currentPrivateRoomHub.Url; return(pr); }
public static PrivateRoomModel GetPrivateRoom(string roomName) { var res = CurrentPrivateRoomHubProxy.Invoke <PrivateRooms>("GetPrivateRoom", roomName).Result; var pr = new PrivateRoomModel(); pr.From(res); pr.HubUrl = currentPrivateRoomHub.Url; return(pr); }