48 lines
1.5 KiB
Dart
48 lines
1.5 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:rogapp/model/entry.dart';
|
|
import 'package:rogapp/pages/index/index_controller.dart';
|
|
import 'package:rogapp/services/api_service.dart';
|
|
|
|
class EventEntriesController extends GetxController {
|
|
final ApiService _apiService = Get.find<ApiService>();
|
|
final IndexController _indexController = Get.find<IndexController>();
|
|
|
|
final entries = <Entry>[].obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
fetchEntries();
|
|
}
|
|
|
|
Future<void> fetchEntries() async {
|
|
try {
|
|
final fetchedEntries = await _apiService.getEntries();
|
|
entries.assignAll(fetchedEntries);
|
|
} catch (e) {
|
|
print('Error fetching entries: $e');
|
|
// エラー処理を追加
|
|
}
|
|
}
|
|
|
|
Future<void> joinEvent(Entry entry) async {
|
|
try {
|
|
|
|
final userid = _indexController.currentUser[0]["user"]["id"];
|
|
|
|
await _apiService.updateUserInfo(userid,entry);
|
|
|
|
_indexController.currentUser[0]["user"]["event_code"] = entry.event.eventName;
|
|
_indexController.currentUser[0]["user"]["team_name"] = entry.team.teamName;
|
|
_indexController.currentUser[0]["user"]["group"] = entry.team.category.categoryName;
|
|
_indexController.currentUser[0]["user"]["zekken_number"] = entry.team.zekkenNumber;
|
|
|
|
Get.back(); // エントリー一覧ページを閉じる
|
|
//_indexController.isLoading.value = true;
|
|
_indexController.reloadMap(entry.event.eventName); // マップをリロード
|
|
} catch (e) {
|
|
print('Error joining event: $e');
|
|
// エラー処理を追加
|
|
}
|
|
}
|
|
} |