選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 
 

75 行
2.1 KiB

  1. import 'package:flutter/material.dart';
  2. import 'package:qadirneyriz/global/global_class/selected_item.dart';
  3. import 'package:qadirneyriz/services/meetings/meetings.dart';
  4. import 'package:qadirneyriz/utils/enums/status.dart';
  5. class MeetinAddState extends ChangeNotifier {
  6. MeetingsApi meetingApi = MeetingsApi();
  7. // date
  8. String? fromDate;
  9. void setFromDate(String date) {
  10. fromDate = date;
  11. notifyListeners();
  12. }
  13. // subject
  14. ItemSelected selectedSubject = ItemSelected();
  15. // location
  16. ItemSelected selectedLocation = ItemSelected();
  17. // manager
  18. ItemSelected selectedManager = ItemSelected();
  19. //users
  20. List<int> selectedUsersItems = [];
  21. // time
  22. TimeOfDay selectedStartTime =
  23. TimeOfDay(hour: TimeOfDay.now().hour, minute: TimeOfDay.now().minute);
  24. TimeOfDay selectedEndTime =
  25. TimeOfDay(hour: TimeOfDay.now().hour, minute: TimeOfDay.now().minute);
  26. // add meeting
  27. Status statusAddMeeting = Status.empty;
  28. String? messageAddMeeting;
  29. Map? errorsAddMeeting;
  30. Future<Status> addMeeting(
  31. {int? locationId,
  32. int? subjectId,
  33. int? managerId,
  34. required String fromHour,
  35. required String toHour,
  36. required String dateMeeting,
  37. required List<int> members}) async {
  38. statusAddMeeting = Status.loading;
  39. notifyListeners();
  40. try {
  41. final result = await meetingApi.addMeetingApi(
  42. locationId: locationId,
  43. subjectId: subjectId,
  44. managerId: managerId,
  45. fromHour: fromHour,
  46. toHour: toHour,
  47. dateMeeting: dateMeeting,
  48. members: members);
  49. if (result.isOk) {
  50. statusAddMeeting = Status.ready;
  51. messageAddMeeting = result.message;
  52. } else if (result.isOk == false) {
  53. // print(result.isOk);
  54. errorsAddMeeting = result.errors;
  55. messageAddMeeting = result.message;
  56. statusAddMeeting = Status.error;
  57. } else {
  58. statusAddMeeting = Status.error;
  59. }
  60. notifyListeners();
  61. } catch (e) {
  62. statusAddMeeting = Status.error;
  63. // print(e);
  64. }
  65. notifyListeners();
  66. // print(statusAddMeeting);
  67. return statusAddMeeting;
  68. }
  69. }