diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index cb7b9226f..27dff02fb 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -56,8 +56,8 @@ - -
PR
+ +
PR
Minha agenda
@@ -69,16 +69,16 @@
PR
AGENDA DO MDGPR
-
Agenda do {{calendars.wxFullName}}
+
Agenda do {{calendars.wxFullName}}
Minha agenda
- +
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 6f869d8d0..dd8660aa6 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -282,6 +282,18 @@ export class AgendaPage implements OnInit { this.weekToShow() } + + hasPrCalendar(data: TableSharedCalendar[]) { + for(const e of data) { + if(e.roleId == this.RoleIdService.PRES) { + return true + } + } + + return false + } + + segmentChanged() { this.showCalendarField = true } @@ -299,7 +311,6 @@ export class AgendaPage implements OnInit { } - ngOnInit() { this.setCalendarByDefault(false) @@ -680,6 +691,9 @@ export class AgendaPage implements OnInit { this.myCal.loadEvents(); } catch (error) {} + + console.log('selectedCalendarIds', selectedCalendarIds) + let load = 0; for (const selectedCalendar of selectedCalendarIds) { @@ -748,11 +762,9 @@ export class AgendaPage implements OnInit { const data = await this.AgendaDataRepositoryService.geCalendars() const prObject = data.find(e => e?.roleId == 100000014) + const myCalendar = data.find(e => e?.wxUserId == SessionStore.user.UserId) - return[{ - ...this.eventService.calendarNamesType['Meu calendario'], - wxUserId: this.SessionStore.user.UserId - }, { + return[{...myCalendar}, { ...prObject }] diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index bb341577e..90efc91fa 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -152,6 +152,7 @@ export class LoginPage implements OnInit { if (attempt.ChatData) { try { + await this.AgendaDataRepositoryService.getSharedCalendar() await MessageModel.deleteAll(); await DeleteMessageModel.deleteAll(); @@ -177,6 +178,8 @@ export class LoginPage implements OnInit { } else { + await this.AgendaDataRepositoryService.clearSharedCalendar() + await this.AgendaDataRepositoryService.createOwnCalendar() this.RochetChatConnectorService.logout(); this.clearStoreService.clear(); this.ChatSystemService.clearChat(); diff --git a/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts b/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts index 6371cd399..2ea3bfa9d 100644 --- a/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts +++ b/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts @@ -21,7 +21,21 @@ export class AgendaDataRepositoryService { private agendaDataService: AgendaDataService, private utils: Utils, private agendaLocalDataSourceService: AgendaLocalDataSourceService - ) { } + ) {} + + createOwnCalendar() { + const currentUserCalendar = { + wxUserId: SessionStore.user.UserId, + wxFullName: SessionStore.user.FullName, + wxeMail: SessionStore.user.Email, + role: SessionStore.user.RoleDescription, + roleId: SessionStore.user.RoleID, + shareType: 0, + date: '', + } + + return this.agendaLocalDataSourceService.createCalendar(currentUserCalendar) + } async getEventById(id: string) { try { @@ -176,23 +190,14 @@ export class AgendaDataRepositoryService { const result = await this.agendaDataService.getSharedCalendar() if(result.isOk()) { - await this.agendaLocalDataSourceService.clearSharedCalendar() + if(result.value?.data) { - const currentUserCalendar = { - wxUserId: SessionStore.user.UserId, - wxFullName: SessionStore.user.FullName, - wxeMail: SessionStore.user.Email, - role: SessionStore.user.RoleDescription, - roleId: SessionStore.user.RoleID, - shareType: 0, - date: '', - } - - result.value.data.push(currentUserCalendar) - + await this.agendaLocalDataSourceService.clearSharedCalendar() + await this.createOwnCalendar() return await this.agendaLocalDataSourceService.bulkCreate(result.value.data) } else { + await this.createOwnCalendar() return result } } else { @@ -201,6 +206,10 @@ export class AgendaDataRepositoryService { } + async clearSharedCalendar() { + return await this.agendaLocalDataSourceService.clearSharedCalendar() + } + getShareCalendarItemsLive() { return this.agendaLocalDataSourceService.getShareCalendarItemsLive() } diff --git a/src/app/services/Repositorys/Agenda/agenda-local-data-source.service.ts b/src/app/services/Repositorys/Agenda/agenda-local-data-source.service.ts index 6c8273eb9..fd594f1da 100644 --- a/src/app/services/Repositorys/Agenda/agenda-local-data-source.service.ts +++ b/src/app/services/Repositorys/Agenda/agenda-local-data-source.service.ts @@ -45,6 +45,16 @@ export class AgendaLocalDataSourceService { } } + async createCalendar(data: SharedCalendarListItemOutputDTO) { + // db.eve + try { + const result = await AgendaDataSource.shareCalendar.add(data) + return ok(result) + } catch (e) { + return err(false) + } + } + clearSharedCalendar() { // db.eve try { diff --git a/src/app/shared/agenda/event-list/event-list.page.ts b/src/app/shared/agenda/event-list/event-list.page.ts index 4a350c6f9..844532a14 100644 --- a/src/app/shared/agenda/event-list/event-list.page.ts +++ b/src/app/shared/agenda/event-list/event-list.page.ts @@ -71,9 +71,7 @@ export class EventListPage implements OnInit { })) ) - this.eventService.onCalendarFinishLoad.subscribe(async() => { - this.setCalendarByDefault() - }) + this.setCalendarByDefault() } diff --git a/src/app/store/calendar.service.ts b/src/app/store/calendar.service.ts index f7a226335..5689921ad 100644 --- a/src/app/store/calendar.service.ts +++ b/src/app/store/calendar.service.ts @@ -51,28 +51,16 @@ export class CalendarService { } - - removeRange(rangeStartDate, rangeEndDate, profile) { - this._eventSource = this._eventSource.filter((e)=> { - if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() && - new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.profile == profile) { - return false - } - return true - }) - } - removeRangeForCalendar(rangeStartDate, rangeEndDate, profile, calendarId) { this._eventSource = this._eventSource.filter((e)=> { if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() && - new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId != calendarId) { + new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId == calendarId) { return false } return true }) - } pushEvent(eventsList: EventList, profile: 'pr' | 'md', CalendarId: string) {