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";
                }
            }
        }
Example #2
0
 public static void AddFavoriteRoom(FavoriteRoom favRoom)
 {
     if (favRoom == null)
     {
         return;
     }
     db.FavoriteRooms.Add(favRoom);
     db.SaveChanges();
 }
Example #3
0
        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();
        }
Example #5
0
 /// <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);
 }
Example #6
0
        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("Ваша комната в другом замке");
            }
        }
Example #7
0
        // сохранить новое избраное помезение
        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()));
        }