feat: 회사 관리 API 연동 구현
- CompanyService 및 RemoteDataSource 구현 - Company, Branch DTO 모델 생성 (Freezed) - 의존성 주입 컨테이너 업데이트 - 회사 등록/수정 폼에 API 연동 로직 적용 - API 통합 계획 문서 업데이트
This commit is contained in:
@@ -200,14 +200,41 @@ class _CompanyFormScreenState extends State<CompanyFormScreen> {
|
||||
}
|
||||
|
||||
// 회사 저장
|
||||
void _saveCompany() {
|
||||
Future<void> _saveCompany() async {
|
||||
final duplicateCompany = _controller.checkDuplicateCompany();
|
||||
if (duplicateCompany != null) {
|
||||
DuplicateCompanyDialog.show(context, duplicateCompany);
|
||||
return;
|
||||
}
|
||||
if (_controller.saveCompany()) {
|
||||
Navigator.pop(context, true);
|
||||
|
||||
// 로딩 표시
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (context) => const Center(
|
||||
child: CircularProgressIndicator(),
|
||||
),
|
||||
);
|
||||
|
||||
try {
|
||||
final success = await _controller.saveCompany();
|
||||
if (mounted) {
|
||||
Navigator.pop(context); // 로딩 다이얼로그 닫기
|
||||
if (success) {
|
||||
Navigator.pop(context, true);
|
||||
} else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(content: Text('회사 저장에 실패했습니다.')),
|
||||
);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
if (mounted) {
|
||||
Navigator.pop(context); // 로딩 다이얼로그 닫기
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text('오류가 발생했습니다: $e')),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user