Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

62 Zeilen
1.7 KiB

  1. import 'package:file_picker/file_picker.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:qadirneyriz/services/meetings/meetings.dart';
  4. import 'package:qadirneyriz/utils/enums/status.dart';
  5. class MeetingSummaryState extends ChangeNotifier {
  6. // send add meeting minute
  7. MeetingsApi meetingsApi = MeetingsApi();
  8. Status statusMinuteMeeting = Status.empty;
  9. String? messageMinuteMeeting;
  10. Map? errorsMinuteMeeting;
  11. Future<Status> addMinuteMeeting(
  12. {required int id,
  13. required String description,
  14. required List<PlatformFile> meetingFiles}) async {
  15. statusMinuteMeeting = Status.loading;
  16. notifyListeners();
  17. try {
  18. final result = await meetingsApi.addMeetingMinuteApi(
  19. id: id, description: description, meetingFiles: meetingFiles);
  20. if (result.isOk) {
  21. statusMinuteMeeting = Status.ready;
  22. messageMinuteMeeting = result.message;
  23. } else if (result.isOk == false) {
  24. print(result.isOk);
  25. errorsMinuteMeeting = result.errors;
  26. messageMinuteMeeting = result.message;
  27. statusMinuteMeeting = Status.error;
  28. } else {
  29. statusMinuteMeeting = Status.error;
  30. }
  31. notifyListeners();
  32. } catch (e) {
  33. statusMinuteMeeting = Status.error;
  34. print(e);
  35. }
  36. notifyListeners();
  37. print(statusMinuteMeeting);
  38. return statusMinuteMeeting;
  39. }
  40. List<PlatformFile>? selectedFiles;
  41. Future<void> pickFiles() async {
  42. final result = await FilePicker.platform.pickFiles(
  43. allowMultiple: true,
  44. );
  45. if (result != null) {
  46. selectedFiles = result.files;
  47. notifyListeners();
  48. }
  49. }
  50. void removeFile(int index) {
  51. selectedFiles!.removeAt(index);
  52. notifyListeners();
  53. }
  54. }