announcement api
This commit is contained in:
parent
c577c7005f
commit
434b39e91f
@ -6,8 +6,8 @@ class TaskModel {
|
|||||||
final String taskStatus;
|
final String taskStatus;
|
||||||
final String? taskPriority;
|
final String? taskPriority;
|
||||||
final DateTime taskDueDate;
|
final DateTime taskDueDate;
|
||||||
final TaskAssignedTo taskAssignedTo;
|
final String? taskAssignedTo;
|
||||||
final String? taskAssignedBy;
|
final TaskAssignedby? taskAssignedBy;
|
||||||
final String? addedFor;
|
final String? addedFor;
|
||||||
final String? addedForId;
|
final String? addedForId;
|
||||||
final String? tradename;
|
final String? tradename;
|
||||||
@ -42,9 +42,8 @@ class TaskModel {
|
|||||||
taskStatus: json['taskStatus'],
|
taskStatus: json['taskStatus'],
|
||||||
taskPriority: json['taskPriority'],
|
taskPriority: json['taskPriority'],
|
||||||
taskDueDate: DateTime.parse(json['taskDueDate']),
|
taskDueDate: DateTime.parse(json['taskDueDate']),
|
||||||
taskAssignedTo: TaskAssignedTo.fromJson(json['taskAssignedTo']),
|
taskAssignedTo:json["TaskAssignedTo"],
|
||||||
taskAssignedBy: json['taskAssignedBy'],
|
taskAssignedBy: TaskAssignedby.fromJson(json['taskAssignedBy']),
|
||||||
addedFor: json['addedFor'],
|
|
||||||
addedForId: json['addedForId'],
|
addedForId: json['addedForId'],
|
||||||
tradename: json['tradename'],
|
tradename: json['tradename'],
|
||||||
createdAt: DateTime.parse(json['createdAt']),
|
createdAt: DateTime.parse(json['createdAt']),
|
||||||
@ -54,21 +53,21 @@ class TaskModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class TaskAssignedTo {
|
class TaskAssignedby {
|
||||||
final String id;
|
final String id;
|
||||||
final String name;
|
final String name;
|
||||||
final String mobileNumber;
|
final String mobileNumber;
|
||||||
final String email;
|
final String email;
|
||||||
|
|
||||||
TaskAssignedTo({
|
TaskAssignedby({
|
||||||
required this.id,
|
required this.id,
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.mobileNumber,
|
required this.mobileNumber,
|
||||||
required this.email,
|
required this.email,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory TaskAssignedTo.fromJson(Map<String, dynamic> json) {
|
factory TaskAssignedby.fromJson(Map<String, dynamic> json) {
|
||||||
return TaskAssignedTo(
|
return TaskAssignedby(
|
||||||
id: json['_id'],
|
id: json['_id'],
|
||||||
name: json['name'],
|
name: json['name'],
|
||||||
mobileNumber: json['mobileNumber'],
|
mobileNumber: json['mobileNumber'],
|
||||||
|
@ -27,7 +27,7 @@ class AnnouncementProvider extends ChangeNotifier {
|
|||||||
Response response = await _apiClient.get(ApiUrls.announcementUrl); // Fetch announcements
|
Response response = await _apiClient.get(ApiUrls.announcementUrl); // Fetch announcements
|
||||||
setLoading(false); // Set loading to false after the request completes
|
setLoading(false); // Set loading to false after the request completes
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
final List<dynamic> data = response.data;
|
final List<dynamic> data = response.data['announcements']; // Extract data from response
|
||||||
announcementList = data
|
announcementList = data
|
||||||
.map((item) => AnnouncementResponse.fromJson(item))
|
.map((item) => AnnouncementResponse.fromJson(item))
|
||||||
.toList(); // Map JSON data to the announcement model
|
.toList(); // Map JSON data to the announcement model
|
||||||
|
@ -39,13 +39,12 @@ class TaskProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Future<void> getAllTaskByDate(DateTime date) async {
|
Future<void> getAllTaskByDate(DateTime date) async {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
try {
|
try {
|
||||||
final String formatedDate = DateFormat('dd/MM/yyyy').format(date);
|
final String formatedDate = DateFormat('dd/MM/yyyy').format(date);
|
||||||
Response response =
|
Response response =
|
||||||
await _apiClient.get("${ApiUrls.allTaskByDate}?Date=$formatedDate");
|
await _apiClient.get("${ApiUrls.allTaskByDate}?Date=$formatedDate");
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
List<TaskModel> data = (response.data['tasks'] as List)
|
List<TaskModel> data = (response.data['tasks'] as List)
|
||||||
.map((json) => TaskModel.fromJson(json))
|
.map((json) => TaskModel.fromJson(json))
|
||||||
|
@ -100,7 +100,7 @@ class MyListView extends StatelessWidget {
|
|||||||
Map<String, List<AnnouncementResponse>> groupedNotifications = {};
|
Map<String, List<AnnouncementResponse>> groupedNotifications = {};
|
||||||
|
|
||||||
// Iterate over the notification list and group by formatted date
|
// Iterate over the notification list and group by formatted date
|
||||||
for (var notification in value.announcementList.reversed) {
|
for (var notification in value.announcementList) {
|
||||||
String date = DateFormat("dd MMM yyyy").format(DateTime.parse(notification.createdAt.toString()));
|
String date = DateFormat("dd MMM yyyy").format(DateTime.parse(notification.createdAt.toString()));
|
||||||
if (!groupedNotifications.containsKey(date)) {
|
if (!groupedNotifications.containsKey(date)) {
|
||||||
groupedNotifications[date] = [];
|
groupedNotifications[date] = [];
|
||||||
|
@ -175,7 +175,7 @@ class _TaskListState extends State<TaskList> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Assigned to: ${task.taskAssignedTo.name}",
|
"Assigned by: ${task.taskAssignedBy!.name}",
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontFamily: 'Anek',
|
fontFamily: 'Anek',
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
|
Loading…
Reference in New Issue
Block a user