| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- import 'package:easy_localization/easy_localization.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:flutter/foundation.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:provider/provider.dart';
- import 'package:telnow_mobile_new/src/api/api_auth_provider.dart';
- import 'package:telnow_mobile_new/src/api/jwt_token.dart';
- import 'package:telnow_mobile_new/src/layouts/mobile/message_broadcast.dart';
- import 'package:telnow_mobile_new/src/layouts/mobile/message_select.dart';
- import 'package:telnow_mobile_new/src/layouts/components/template.dart';
- import 'package:telnow_mobile_new/src/layouts/web/message_broadcast.dart';
- import 'package:telnow_mobile_new/src/utils/C.dart';
- import 'package:telnow_mobile_new/src/utils/U.dart';
- import 'package:telnow_mobile_new/src/utils/cache_manager.dart';
- import 'package:telnow_mobile_new/src/utils/provider.dart';
- import 'package:url_launcher/url_launcher.dart';
- class MessageFunction{
- final ApiAuthProvider apiAuthProvider = ApiAuthProvider();
- final JwtToken token = JwtToken();
- getUser(BuildContext context)async{
- var res = await token.getUserData(context);
- if(res != null){
- Provider.of<MessageModule>(context, listen: false).setUser(res);
- getDataMessages(context);
- }
- }
- getDataMessages(BuildContext context) async {
- if(await U.isCompatibleWith(VersionKey.multiBahasa)) getDataForum(context);
- String url = '/api/messages/search/myMessages';
- var val = await CacheMan.readData(url);
- if (val != null) {
- Provider.of<MessageModule>(context, listen: false).setData(val['data']);
- }
- var res = await apiAuthProvider.getData(url, null, context);
- if (res != null) {
- List tempData = [];
- if (res['_embedded'] != null) {
- for (int i = 0; i < res['_embedded']['myMessages'].length; i++) {
- tempData.add(res['_embedded']['myMessages'][i]);
- }
- }
- CacheMan.writeData(url, tempData);
- Provider.of<MessageModule>(context, listen: false).setData(tempData);
- Provider.of<MessageModule>(context, listen: false).setFirstLoad(true);
- } else {
- Provider.of<MessageModule>(context, listen: false).setFirstLoad(true);
- }
- }
- getDataForum(BuildContext context) async{
- String url = '/api/messages/search/myForum';
- var val = await CacheMan.readData(url);
- final messageModule = Provider.of<MessageModule>(context,listen: false);
- if (val != null){
- messageModule.setForum(val['data']);
- }
- var res = await apiAuthProvider.getData(url, null, context);
- if (res != null) {
- List tempData = [];
- for (int i = 0; i < res.length; i++) {
- tempData.add(res[i]);
- }
- CacheMan.writeData(url, tempData);
- messageModule.setForum(tempData);
- messageModule.setFirstLoad(true);
- } else {
- messageModule.setFirstLoad(true);
- }
- }
- setAsRead(context, ticketNo) async {
- var res = await apiAuthProvider.postData('/api/notifications/readMyForum/$ticketNo', null, null, context);
- if (res != null) {
- }
- }
- createMessage(BuildContext context) async{
- String url = '/api/tenants/search/customFind';
- List dataTenant = [];
- var val = await CacheMan.readData(url);
- if (val != null) {
- dataTenant.addAll(val['data']);
- }
- try{
- var res = await apiAuthProvider.getData(url, {'isPaged': 'true', 'size': '1000', 'sort': 'description'}, context);
- if (res != null) {
- List tempData = [];
- if (res['_embedded'] != null) {
- for (int i = 0; i < res['_embedded']['tenants'].length; i++) {
- tempData.add(res['_embedded']['tenants'][i]);
- }
- if (tempData.length != 0) {
- CacheMan.writeData(url, tempData);
- }
- if(dataTenant.isEmpty){
- dataTenant.addAll(tempData);
- }
- }
- }
- } catch(e){
- print(e.toString());
- }
- if(U.webView(context)){
- navigateTo(context, WebMessageBroadcastPage(Provider.of<MessageModule>(context, listen: false).user(), dataTenant));
- }
- else{
- navigateTo(context, dataTenant.isEmpty ? MobMessageBroadcastPage(Provider.of<MessageModule>(context, listen: false).user(), []) : MobMessageSelectPage(Provider.of<MessageModule>(context, listen: false).user(), dataTenant));
- }
- onRefresh(context);
- }
- timeSet(time) {
- final now = DateTime.now();
- var localDateTime = DateTime.parse(time);
- if (localDateTime.day == now.day && localDateTime.month == now.month && localDateTime.year == now.year) {
- return DateFormat('Hm').format(localDateTime);
- }
- DateTime yesterday = now.subtract(Duration(days: 1));
- if (localDateTime.day == yesterday.day && localDateTime.month == yesterday.month && localDateTime.year == yesterday.year) {
- return 'yesterday'.tr();
- }
- return DateFormat('yMd').format(localDateTime);
- }
- onRefresh(BuildContext context) {
- try {
- getDataMessages(context);
- } catch (e) {
- print(e.toString());
- }
- }
- }
|