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

82 行
2.4 KiB

  1. import 'package:flutter/material.dart';
  2. import 'package:qadirneyriz/global/global_class/selected_item.dart';
  3. import 'package:qadirneyriz/services/private_meetings/private_meetings.dart';
  4. import 'package:qadirneyriz/utils/enums/status.dart';
  5. class PrivateMeetingAddState extends ChangeNotifier {
  6. PrivateMeetingsApi privateMeetingApi = PrivateMeetingsApi();
  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> addPrivateMeeting({
  31. int? locationId,
  32. int? subjectId,
  33. int? managerId,
  34. required String fromHour,
  35. required String toHour,
  36. required String dateMeeting,
  37. required String visitorName,
  38. required String visitorMobile,
  39. required String visitorRole,
  40. required String visitorCompany,
  41. }) async {
  42. statusAddMeeting = Status.loading;
  43. notifyListeners();
  44. try {
  45. final result = await privateMeetingApi.addPrivateMeetingApi(
  46. locationId: locationId,
  47. subjectId: subjectId,
  48. managerId: managerId,
  49. fromHour: fromHour,
  50. toHour: toHour,
  51. dateMeeting: dateMeeting,
  52. visitorCompany: visitorCompany,
  53. visitorMobile: visitorMobile,
  54. visitorName: visitorName,
  55. visitorRole: visitorRole);
  56. if (result.isOk) {
  57. statusAddMeeting = Status.ready;
  58. messageAddMeeting = result.message;
  59. } else if (result.isOk == false) {
  60. // print(result.isOk);
  61. errorsAddMeeting = result.errors;
  62. messageAddMeeting = result.message;
  63. statusAddMeeting = Status.error;
  64. } else {
  65. statusAddMeeting = Status.error;
  66. }
  67. notifyListeners();
  68. } catch (e) {
  69. statusAddMeeting = Status.error;
  70. // print(e);
  71. }
  72. notifyListeners();
  73. // print(statusAddMeeting);
  74. return statusAddMeeting;
  75. }
  76. }