feat : sale out of Province
This commit is contained in:
@@ -1,10 +1,38 @@
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:persian_datetime_picker/persian_datetime_picker.dart';
|
||||
|
||||
extension xDateTime on String{
|
||||
extension XDateTime on String{
|
||||
get toDateTime => DateTime.parse(this);
|
||||
|
||||
get formattedJalaliDate{
|
||||
final dateTime = DateTime.parse(this);
|
||||
final jalaliDate = Jalali.fromDateTime(dateTime);
|
||||
return "${jalaliDate.year}/${jalaliDate.month.toString().padLeft(2, '0')}/${jalaliDate.day.toString().padLeft(2, '0')}";
|
||||
}
|
||||
}
|
||||
|
||||
get formattedJalaliDateYHMS {
|
||||
final dateTime = DateTime.parse(this);
|
||||
final jalaliDate = Jalali.fromDateTime(dateTime);
|
||||
return "${jalaliDate.year}/${jalaliDate.month.toString().padLeft(2, '0')}/${jalaliDate.day.toString().padLeft(2, '0')} - ${jalaliDate.hour.toString().padLeft(2, '0')}:${jalaliDate.minute.toString().padLeft(2, '0')}";
|
||||
}
|
||||
|
||||
|
||||
get formattedYHMS{
|
||||
return DateFormat('yyyy-MM-dd HH:mm:ss').format(toDateTime);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
extension XDateTime2 on DateTime{
|
||||
|
||||
|
||||
get formattedJalaliDate{
|
||||
final jalaliDate = Jalali.fromDateTime(this);
|
||||
return "${jalaliDate.year}/${jalaliDate.month.toString().padLeft(2, '0')}/${jalaliDate.day.toString().padLeft(2, '0')}";
|
||||
}
|
||||
|
||||
get formattedYHMS{
|
||||
return DateFormat('yyyy-MM-dd HH:mm:ss').format(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ Map<String, dynamic> buildQueryParams({
|
||||
int? pageSize,
|
||||
DateTime? fromDate,
|
||||
DateTime? toDate,
|
||||
String? role,
|
||||
|
||||
}) {
|
||||
final params = <String, dynamic>{};
|
||||
@@ -40,5 +41,9 @@ Map<String, dynamic> buildQueryParams({
|
||||
params['page_size'] = pageSize;
|
||||
}
|
||||
|
||||
if(role != null && role.isNotEmpty) {
|
||||
params['role'] = role;
|
||||
}
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
2
packages/core/lib/utils/network/network.dart
Normal file
2
packages/core/lib/utils/network/network.dart
Normal file
@@ -0,0 +1,2 @@
|
||||
export 'resource.dart';
|
||||
export 'safe_call_utils.dart';
|
||||
46
packages/core/lib/utils/network/resource.dart
Normal file
46
packages/core/lib/utils/network/resource.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
enum Status {
|
||||
initial,
|
||||
loading,
|
||||
success,
|
||||
error,
|
||||
empty,
|
||||
}
|
||||
|
||||
|
||||
class Resource<T> {
|
||||
final Status status;
|
||||
final T? data;
|
||||
final String? message;
|
||||
|
||||
const Resource._({
|
||||
required this.status,
|
||||
this.data,
|
||||
this.message,
|
||||
});
|
||||
|
||||
const Resource.initial() : this._(status: Status.initial);
|
||||
|
||||
const Resource.loading() : this._(status: Status.loading);
|
||||
|
||||
const Resource.success(T data) : this._(status: Status.success, data: data);
|
||||
|
||||
const Resource.error(String message) : this._(status: Status.error, message: message);
|
||||
|
||||
const Resource.empty() : this._(status: Status.empty);
|
||||
|
||||
|
||||
bool get isInitial => status == Status.initial;
|
||||
|
||||
bool get isLoading => status == Status.loading;
|
||||
|
||||
bool get isSuccess => status == Status.success;
|
||||
|
||||
bool get isError => status == Status.error;
|
||||
|
||||
bool get isEmpty => status == Status.empty;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'Resource{status: $status, data: $data, message: $message}';
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../core.dart';
|
||||
import '../../core.dart';
|
||||
|
||||
typedef AppAsyncCallback<T> = Future<T> Function();
|
||||
typedef ErrorCallback = void Function(dynamic error, StackTrace? stackTrace);
|
||||
Reference in New Issue
Block a user