private void NotifyUsersOfRoomChange(Room room, RoomUpdate update) { // Getting all other users in the room beside the logged user var users = serverManager.Users.Where(user => user.Id != LoggedUser.Id); foreach (var user in users) { var callback = userCallbacks.First(pair => pair.Key == user.Id).Value; callback.RoomUpdated(room, update); } }
public RoomUpdatedEventArgs(Room updatedRoom, RoomUpdate update) { UpdatedRoom = updatedRoom; Update = update; }
public void RoomUpdated(Room updatedRoom, RoomUpdate update) { RoomUpdatedEvent?.Invoke(this, new RoomUpdatedEventArgs(updatedRoom, update)); }
public async void EditRoom() { Value = true; var connection = await apiService.CheckConnection(); if (!connection.IsSuccess) { await Application.Current.MainPage.DisplayAlert( Languages.Warning, Languages.CheckConnection, Languages.Ok); return; } if (string.IsNullOrEmpty(Room.code) || string.IsNullOrEmpty(Room.name)) { Value = true; return; } if (SelectedType == null) { await Application.Current.MainPage.DisplayAlert("Error", "Please Select Type", "ok"); Value = true; return; } var room = new RoomUpdate { id = Room.id, active = Room.active, code = Room.code, name = Room.name, description = Room.description, type = SelectedType.Key, createBy = Room.createBy, deleteBy = Room.deleteBy, //createDate = Room.createDate.ToString(), //deleteDate = Room.deleteDate.ToString(), deleteReason = Room.deleteReason }; var cookie = Settings.Cookie; //.Split(11, 33) var res = cookie.Substring(11, 32); var response = await apiService.Put <RoomUpdate>( "https://portalesp.smart-path.it", "/Portalesp", "/room/update", res, room); Debug.WriteLine("********responseIn ViewModel*************"); Debug.WriteLine(response); /* if (!response.IsSuccess) * { * await Application.Current.MainPage.DisplayAlert("Error", response.Message, "ok"); * return; * }*/ Value = false; RoomViewModel.GetInstance().Update(Room); DependencyService.Get <INotification>().CreateNotification("PortalSP", "Room Updated"); await App.Current.MainPage.Navigation.PopPopupAsync(true); }