private void JoinRoom(string roomNo) { Debug.Log("JoinRoom roomNo = " + roomNo); ShowMessagePanel("查找房间中..."); //检查房间是否存在, 如果存在就跳转到游戏的界面 ResponseHandle handler = delegate(string jsonString){ Debug.Log("GetRoomResponse: " + jsonString); //加入玩家已经游戏了,那么跳转到Gameplay Scene。否则什么都不需要坐。 GetRoomResponse resp = JsonConvert.DeserializeObject <GetRoomResponse>(jsonString); Dictionary <string, string> parameters = new Dictionary <string, string>(); if (resp.isExist) { parameters["roomNo"] = resp.roomNo; parameters["serverUrl"] = resp.serverUrl; Scenes.Load("Gameplay", parameters); } else { //房间不存在 ShowConfirmMessagePanel("该房间不存在"); } }; ResponseHandle errorHandler = delegate(string error) { Debug.Log("errorHandler is called"); HideMessagePanel(); ShowConfirmMessagePanel("连接服务器失败,请检查你的网络"); }; StartCoroutine(ServerUtils.PostRequest(ServerUtils.GetRoomUrl(), JsonConvert.SerializeObject(new { roomNo = roomNo }), handler, errorHandler)); }
public void GetRoom(int wid, string openid, int hotelId, int roomId) { AjaxResult ajaxResult; try { GetRoomResponse responseData = null; IAsyncResult asyncResult = new BusEntry("WeixinPF.Hotel.Plugins").MyBus.Send("WeixinPF.Hotel.Plugins.Service", new GetRoomRequest() { HotelId = hotelId, RoomId = roomId }) .Register(response => { CompletionResult result = response.AsyncState as CompletionResult; if (result != null) { responseData = result.Messages[0] as GetRoomResponse; } }, this); WaitHandle asyncWaitHandle = asyncResult.AsyncWaitHandle; asyncWaitHandle.WaitOne(WaitSeconds); ajaxResult = asyncResult.IsCompleted ? AjaxResult.Succeed(responseData) : AjaxResult.Fail("获取房间信息失败。"); } catch { ajaxResult = AjaxResult.Fail("获取房间信息失败。"); } this.WriteJson(ajaxResult); }
public async Task <JsonResult> GetRooms([FromBody] GetRoomViewModel getRoomViewModel, [FromBody] string accessToken) { GetRoomResponse response = new GetRoomResponse(); try { accessToken = GetNewAccessToken(getRoomViewModel.CentroId); // Get the room lists defined in a tenant. var roomLists = await _roomsService.findRoomLists(accessToken); GraphModel model = new GraphModel(); model.Salas = new List <Sala>(); foreach (var item in roomLists.Salas) { model.Salas.Add(item); } var entrevistadorMail = _usuarioService.GetUsuarioById(getRoomViewModel.EntrevistadorId).UsuarioViewModel.Email; if (entrevistadorMail == "" || entrevistadorMail == null) { response.IsValid = false; return(Json(response, JsonRequestBehavior.AllowGet)); } response = await GetSuggestedMeetings(accessToken, model.Salas[0].Email, entrevistadorMail, getRoomViewModel.Fecha, getRoomViewModel.CentroId, getRoomViewModel.OficinaId, getRoomViewModel.IgnorarDisponibilidad); return(Json(response, JsonRequestBehavior.AllowGet)); } catch (Exception) { response.IsValid = false; return(Json(response, JsonRequestBehavior.AllowGet)); } }
public void Excecute(ClientObject client, ServerObject server, RoomObject room, string packet = "") { Console.WriteLine("Get rooms"); var response = new GetRoomResponse(server.GetFreeRooms()); string packetResponse = JsonConvert.SerializeObject(response); server.SendMessageToDefiniteClient(packetResponse, client); }
public JsonResult GetDetail(System.Int32 id) { RoomDetailView vm = new RoomDetailView(); GetRoomRequest request = new GetRoomRequest(); request.RoomId = id; GetRoomResponse response = _roomService.GetRoom(request); if (response.RoomFound) { vm = response.Room.ConvertToRoomDetailView(); } return(Json(vm, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { GetRoomResponse response = new GetRoomResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("Room", targetDepth)) { var unmarshaller = RoomUnmarshaller.Instance; response.Room = unmarshaller.Unmarshall(context); continue; } } return(response); }
public GetRoomResponse getById(GetRoomRequest request) { try { var response = new GetRoomResponse(); var bc = new RoomComponent(); response.Result = bc.Find(request.Room.Id); return(response); } catch (Exception ex) { var httpError = new HttpResponseMessage() { StatusCode = (HttpStatusCode)422, ReasonPhrase = ex.Message }; throw new HttpResponseException(httpError); } }
public async Task <JsonResult> GetRooms(GetRoomViewModel getRoomViewModel) { var roomFiltrar = GetRoomFiltrar(getRoomViewModel.CentroId, getRoomViewModel.OficinaId); GetRoomResponse response = new GetRoomResponse(); try { // Get an access token. string accessToken = GetNewAccessToken(getRoomViewModel.CentroId); // Get the room lists defined in a tenant. var roomLists = await _graphService.findRoomLists(accessToken); GraphModel model = new GraphModel(); model.Salas = new List <Sala>(); foreach (var item in roomLists.Salas) { if (item.Name.Contains(roomFiltrar)) { model.Salas.Add(item); } } var entrevistadorMail = _usuarioService.GetUsuarioById(getRoomViewModel.EntrevistadorId).UsuarioViewModel.Email; if (entrevistadorMail == "" || entrevistadorMail == null) { response.IsValid = false; response.ErrorMessage = Resources.ErrorGraph_EntrevistadorMail; return(Json(response, JsonRequestBehavior.AllowGet)); } response = await GetSuggestedMeetings(accessToken, model.Salas[0].Email, entrevistadorMail, getRoomViewModel.Fecha, getRoomViewModel.CentroId, getRoomViewModel.OficinaId, getRoomViewModel.IgnorarDisponibilidad); return(Json(response, JsonRequestBehavior.AllowGet)); } catch (Exception) { response.IsValid = false; response.ErrorMessage = Resources.ErrorGraph_ListaSalas; return(Json(response, JsonRequestBehavior.AllowGet)); } }
public GetRoomResponse GetRoom(GetRoomRequest request) { GetRoomResponse response = new GetRoomResponse(); Room room = _roomRepository .FindBy(request.RoomId); if (room != null) { response.RoomFound = true; response.Room = room.ConvertToRoomView(); } else { response.RoomFound = false; } return(response); }
public async Task <GetRoomResponse> GetSuggestedMeetings(string token, string nombreLista, string entrevistadorMail, DateTime fecha, int centroId, int?oficinaId, bool ignorarDisponibilidad) { GetRoomResponse response = new GetRoomResponse(); var fechaInicio = DateTime.Parse(fecha.ToUniversalTime().ToString()); var fechaFin = fechaInicio; try { string accessToken = token; FindMeetingTimesRequest findMeetingTimeRequest = new FindMeetingTimesRequest(); var attendees = new List <ApiRooms.Graph.Responses.FindMeetingTimeRequest.Attendee>(); List <string> possivelAttendees = new List <string>(); if (!ignorarDisponibilidad) { possivelAttendees.Add(entrevistadorMail); } foreach (var item in possivelAttendees) { if (!string.IsNullOrEmpty(item)) { attendees.Add(new ApiRooms.Graph.Responses.FindMeetingTimeRequest.Attendee() { emailAddress = new ApiRooms.Graph.Responses.FindMeetingTimeRequest.EmailAddress() { address = item, name = item }, type = "required" }); } } findMeetingTimeRequest.timeConstraint = new TimeConstraint() { timeslots = new List <Timeslot>() { new Timeslot() { start = new ApiRooms.Graph.Responses.FindMeetingTimeRequest.Start() { dateTime = fechaInicio, timeZone = "UTC" }, end = new ApiRooms.Graph.Responses.FindMeetingTimeRequest.End() { dateTime = fechaFin, timeZone = "UTC" } } } }; // Getting the rooms in the list FindRoomsListResponse listaSalas = new FindRoomsListResponse(); GetStringExcludedRoomsResponse excludedRooms = new GetStringExcludedRoomsResponse(); if (!string.IsNullOrEmpty(nombreLista)) { listaSalas = await _roomsService.FindRooms(accessToken, nombreLista); excludedRooms = _roomsService.GetStringExcludedRooms(centroId, oficinaId); } if (excludedRooms.IsValid && !string.IsNullOrEmpty(excludedRooms.StringExcludedRooms)) { listaSalas = FilterListSalas(listaSalas, excludedRooms.StringExcludedRooms); } for (int i = 0; i < listaSalas.value.Count; i++) { if (i < 18 && i < listaSalas.value.Count) { attendees.Add(new ApiRooms.Graph.Responses.FindMeetingTimeRequest.Attendee() { emailAddress = new ApiRooms.Graph.Responses.FindMeetingTimeRequest.EmailAddress() { address = listaSalas.value[i].address }, type = "resource" }); } else { break; } } findMeetingTimeRequest.returnSuggestionReasons = true; findMeetingTimeRequest.isOrganizerOptional = true; findMeetingTimeRequest.maxCandidates = 100; findMeetingTimeRequest.attendees = attendees; // Get the the meeting times var findMeetingTimes = await _roomsService.PostFindMeetingTimes(accessToken, findMeetingTimeRequest); if (findMeetingTimes.emptySuggestionsReason.Equals("AttendeesUnavailable")) { response.IsValid = false; return(response); } List <FindMeetingTimesRowViewModel> suggestions = FilterSuggestions(findMeetingTimes, listaSalas); if (suggestions.Count == 0) { response.IsValid = false; return(response); } response.IsValid = true; response.salas = new List <SelectListItem>(); foreach (var sugg in suggestions) { foreach (var sala in sugg.Salas) { if (sala.Name != null && sala.Email != null) { SelectListItem listaSala = new SelectListItem(); listaSala.Value = sala.Email; listaSala.Text = sala.Name; response.salas.Add(listaSala); } } } } catch (Exception e) { response.IsValid = false; response.ErrorMessage = e.Message; } return(response); }