diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 2df4678e0..1d0aaa047 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -22,7 +22,9 @@ import { BackgroundService } from 'src/app/services/background.service'; import { OfflineManagerService } from 'src/app/services/offline-manager.service'; import { Storage } from '@ionic/storage'; import { EventsService } from 'src/app/services/events.service'; +import { ProcessesService } from 'src/app/services/processes.service'; import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; +import { SqliteService } from 'src/app/services/sqlite.service'; @Component({ selector: 'app-home', @@ -83,7 +85,9 @@ export class HomePage implements OnInit { private offlinemanager: OfflineManagerService, private storage: Storage, private eventservice: EventsService, - private screenOrientation: ScreenOrientation,) { + private processservice: ProcessesService, + private screenOrientation: ScreenOrientation, + private sqliteservice: SqliteService) { /* this.webNotificationPopupService.askNotificationPermission() */ @@ -121,8 +125,7 @@ export class HomePage implements OnInit { this.backgroundservice.online() if (this.platform.is('desktop') || this.platform.is('mobileweb')) { } else { - /* this.notificationsService.onReceviNotification(); */ - this.offlinemanager.synchnize() + this.synchWhenOnline() } }); window.addEventListener('offline', () => { @@ -160,4 +163,50 @@ export class HomePage implements OnInit { } + async synchWhenOnline() { + try { + await this.storage.get('eventEdit').then((req) => { + JSON.parse(req).forEach(element => { + this.eventservice.editEvent(element, 2, 3).subscribe((res) => { + this.storage.remove('eventEdit') + this.sqliteservice.deleteEventTable(); + console.log('eventEdit synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error synch eventedit') + } + + try { + await this.storage.get('eventDelete').then((req) => { + JSON.parse(req).forEach(element => { + console.log('DELETE data SYNC', element) + this.eventservice.deleteEvent(element.eventid, element.eventDeleteType, element.calendarName).subscribe((res) => { + this.storage.remove('eventDelete') + this.sqliteservice.deleteEventTable(); + console.log('eventDelete synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error delete event synch') + } + + try { + await this.storage.get('event-listRever').then((req) => { + JSON.parse(req).forEach(element => { + console.log('REVER data SYNC', element) + this.processservice.PostTaskAction(element).subscribe((res) => { + this.storage.remove('event-listRever') + this.sqliteservice.deleteEventTable(); + console.log('event-listRever synchnize', res) + }) + }); + }) + } catch (error) { + console.log('error event-list rever synch') + } + } + } diff --git a/src/app/pages/agenda/view-event/view-event.page.ts b/src/app/pages/agenda/view-event/view-event.page.ts index ad1989d2b..ea60b28bd 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -171,9 +171,9 @@ export class ViewEventPage implements OnInit { loader.remove() }, (error) => { - console.log('errorstatus',error.status) + console.log('errorstatus ss',error.status) - if (error.status == 0) { + if (error.status === 0) { this.getFromDb(); } else { this.toastService.badRequest('Este evento já não existe na sua agenda') @@ -205,6 +205,8 @@ export class ViewEventPage implements OnInit { () => { loader.remove(); }); + + loader.remove(); } @@ -421,8 +423,9 @@ export class ViewEventPage implements OnInit { const loader = this.toastService.loading(); this.sqliteservice.getEventById(this.eventId).then((event) => { let arrayevent = []; + console.log('EVENT ATTENDEES',event[0].Attendees) let elemet = { - Attendees: JSON.parse(event[0].Attendees) || "", + Attendees: (typeof JSON.parse(event[0].Attendees) === 'undefined') ? "" : JSON.parse(event[0].Attendees), Body: JSON.parse(event[0].Body) || "", CalendarId: event[0].CalendarId, CalendarName: event[0].CalendarName, diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 709122a83..e9a4177b0 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -318,6 +318,36 @@ export class EventsPage implements OnInit { if (list.length > 0) { list.forEach(element => { this.sqliteservice.addEvent(element) + + this.sqliteservice.getAllEvents().then((event: any[]) => { + let todayEvents = new Array() + event.forEach((element) => { + let eventObject = { + AppointmentState: element.AppointmentState, + Attachments: element.Attachments, + Attendees: element.Attendees, + CalendarId: element.CalendarId, + CalendarName: element.CalendarName, + Category: element.Category, + EndDate: element.EndDate, + EventId: element.EventId, + EventRecurrence: element.EventRecurrence, + EventType: element.EventType, + HasAttachments: element.HasAttachments, + HumanDate: element.HumanDate, + IsAllDayEvent: element.IsAllDayEvent, + IsMeeting: element.IsMeeting, + IsRecurring: element.IsRecurring, + Location: element.Location, + Organizer: element.Organizer, + Profile: element.Profile, + StartDate: element.StartDate, + Subject: element.Subject + } + todayEvents.push(eventObject); + }) + console.log('JIFJSOSDJSDONS',todayEvents) + }) }); } } diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts index 1ba7a67a3..6ed90e273 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts @@ -17,6 +17,7 @@ import { SqliteService } from '../../../../services/sqlite.service'; import { BackgroundService } from '../../../../services/background.service'; import { Platform } from '@ionic/angular'; import { ThemeService } from 'src/app/services/theme.service' +import { OfflineManagerService } from 'src/app/services/offline-manager.service'; @Component({ @@ -62,6 +63,7 @@ export class ApproveEventPage implements OnInit { private platform: Platform, private backgroundservice: BackgroundService, public ThemeService: ThemeService, + private offlineManager: OfflineManagerService ) { this.activatedRoute.paramMap.subscribe(params => { // console.log(params["params"]); @@ -255,7 +257,11 @@ export class ApproveEventPage implements OnInit { const loader = this.toastService.loading() try { - await this.processes.PostTaskAction(body).toPromise(); + await this.processes.PostTaskAction(body).toPromise() + .catch(() => { + console.log('Send event to approve for revition') + this.offlineManager.storeRequestData('event-listRever', body); + }); this.toastService._successMessage('Pedido enviado'); this.goBack(); } catch (error) { diff --git a/src/app/pages/publications/new-publication/new-publication.page.html b/src/app/pages/publications/new-publication/new-publication.page.html index 8295b9520..102b43254 100644 --- a/src/app/pages/publications/new-publication/new-publication.page.html +++ b/src/app/pages/publications/new-publication/new-publication.page.html @@ -69,7 +69,7 @@