async void OnfaviriteClicked(object sender, EventArgs args) { bool connect = await WebData.CheckConnection(); // проверка подключения if (connect == false) { return; } ToolbarItem item = (ToolbarItem)sender; FavoriteRoom room = Client.isRoomFavoit(Current); if (room == null) // добавление { FavoriteRoom newroom = await new FavRoomService().Add((Current.Clone() as Room).ToFavRoom(Client.CurrentClient.ClientId)); if (newroom != null) { DbService.AddFavoriteRoom(newroom); item.IconImageSource = "@drawable/stared.png"; } } else // удаление { bool deleted = await new FavRoomService().Delete(room.FavoriteRoomId); if (deleted) { DbService.RemoveFavoriteRoom(room); item.IconImageSource = "@drawable/unstared.png"; } } }
public static void AddFavoriteRoom(FavoriteRoom favRoom) { if (favRoom == null) { return; } db.FavoriteRooms.Add(favRoom); db.SaveChanges(); }
public static void RemoveFavoriteRoom(FavoriteRoom room) { if (room == null) { return; } db.FavoriteRooms.Remove(room); db.SaveChanges(); }
private void InitData() { var dzhem = new User("Dzhem", "Aptula", "*****@*****.**"); var nick = new User("Nick", "Lersberghe", "*****@*****.**"); var tijl = new User("Tijl", "Zwartjes", "*****@*****.**"); var users = _context.Users; dzhem.Username = "******"; nick.Username = "******"; users.Add(dzhem); users.Add(nick); users.Add(new User("Janne", "Vschep", "*****@*****.**")); users.Add(tijl); users.Add(new User("John", "Cena", "*****@*****.**")); users.Add(new User("Billie", "Eilish", "*****@*****.**")); users.Add(new User("Joseph", "Stalin", "*****@*****.**")); users.Add(new User("Napoleon", "Bonaparte", "*****@*****.**")); users.Add(new User("Post", "Malone", "*****@*****.**")); users.Add(new User("Lil", "Pump", "*****@*****.**")); var web4 = new User("student", "hogent", "*****@*****.**", "web4"); users.Add(web4); dzhem.CreatePost("Test title", "Something something musical"); dzhem.CreatePost("Second post ever wohoo!", "Today is a special day. Lorem ipsum ipsum lorem simp simp simpson lorem ex dee xasjals alsjdn."); nick.CreatePost("Test post nick", "Nick is the great leader of china wowo"); nick.CreatePost("222", "Broo literally laughing rn"); tijl.CreatePost("lmfao whaaat", "whats this site"); nick.CreatePost("Some dumbo", "Some dumbo just posted something dumb"); dzhem.CreatePost("Get off my wall", "NO CYBERBULLYING MAN CMON !!!!"); web4.FriendRequests.Add(new UserFriendRequest(web4, dzhem)); _context.SaveChanges(); var room1 = new MusicRoom("Drum and bass"); //add favorite room var favorite = new FavoriteRoom(dzhem, room1); dzhem.AddFavoriteRoom(favorite); //Add friend var friend = new UserFriend(dzhem, nick); var friendReq = new UserFriendRequest(dzhem, tijl); dzhem.AddFriend(friend); dzhem.FriendRequests.Add(friendReq); _context.UserFriends.Add(friend); _context.UserFriendRequests.Add(friendReq); _context.SaveChanges(); }
/// <summary> /// Проверка, есть ли избранное помещение среди загруженных /// </summary> /// <param name="favorite">избранное помещение (со страницы избранных пользователя)</param> /// <returns>статус избранности</returns> public static bool isThatRoom(FavoriteRoom favorite) { foreach (var room in Rooms) { if (room.Name == favorite.Name && room.Description == favorite.Details || room.RoomId == favorite.FavoriteRoomId) { return(true); } } return(false); }
private async void RoomView_ItemTapped(object sender, ItemTappedEventArgs e) { FavoriteRoom room = e.Item as FavoriteRoom; // открыть данные помещения можно тлько если она есть в загруженом здании if (RoomData.isThatRoom(room)) { await Shell.Current.GoToAsync($"roomdetails?name={room.Name}"); } else { DependencyService.Get <IToast>().Show("Ваша комната в другом замке"); } }
// сохранить новое избраное помезение public async Task <FavoriteRoom> Add(FavoriteRoom room) { HttpClient client = WebData.GetClient(); var response = await client.PostAsync(Url, new StringContent( JsonConvert.SerializeObject(room), Encoding.UTF8, "application/json")); if (response.StatusCode != HttpStatusCode.Created) { return(null); } return(JsonConvert.DeserializeObject <FavoriteRoom>( await response.Content.ReadAsStringAsync())); }