public void DecideWhatToDo() { SavePoints(); User user = null; if (points >= 10) { user = userRepo.GetUserAsync(bestCandidate).Result; var room = roomRepo.GetRoomAsync(user.RoomNumber).Result; if (!RoomHasFreeSlot(room)) { ContactWithAdmin(); } else { Accomodate(room); } } else { var room = FindFreeRoom(); if (room == null) { var roomBestCandidate = roomRepo.GetRoomAsync(user.RoomNumber).Result; if (!RoomHasFreeSlot(roomBestCandidate)) { ContactWithAdmin(); } else { Accomodate(roomBestCandidate); } } else { room.StudentA = this.user.Index; this.user.RoomNumber = room.RoomNumber; roomRepo.SaveRoomAsync(room); userRepo.SaveUserAsync(this.user); Wynik = $"Twój pokój to {room.RoomNumber}."; } } }