From c37d3f5f7fdb4ca6fe9e462197014191ea865ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Tue, 11 Jun 2024 16:23:09 +0100 Subject: [PATCH] bug solve seltet date --- .../agenda/edit-event/edit-event.page.html | 2 +- .../agenda/edit-event/edit-event.page.ts | 43 +++++++++++++++---- .../Agenda/agenda-data-repository.service.ts | 16 ++++--- .../Repositorys/Agenda/agenda-data.service.ts | 2 +- src/app/services/Repositorys/Agenda/utils.ts | 16 +++++-- .../edit-event-to-approve.page.ts | 2 +- .../agenda/edit-event/edit-event.page.ts | 2 +- .../edit-event-to-approve/edit-event.page.ts | 2 +- 8 files changed, 62 insertions(+), 23 deletions(-) diff --git a/src/app/pages/agenda/edit-event/edit-event.page.html b/src/app/pages/agenda/edit-event/edit-event.page.html index fc4b52f8f..14f44d5e9 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.html +++ b/src/app/pages/agenda/edit-event/edit-event.page.html @@ -497,7 +497,7 @@ - diff --git a/src/app/pages/agenda/edit-event/edit-event.page.ts b/src/app/pages/agenda/edit-event/edit-event.page.ts index 9087426ec..c05af6d5e 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.ts +++ b/src/app/pages/agenda/edit-event/edit-event.page.ts @@ -129,7 +129,7 @@ export class EditEventPage implements OnInit { this.postEvent.Attendees[index].UserType = userData.UserType } - console.log('jhv',this.postEvent.Category) + console.log('jhv', this.postEvent.Category) } @@ -367,7 +367,33 @@ export class EditEventPage implements OnInit { } } - async save_v2() { + validationEditAllEvent() { + if (this.postEvent.IsRecurring) { + this.alertController.create({ + header: 'Editar evento?', + message: 'Este evento tem recorrência, deseja editar a Sequência de eventos?', + buttons: [ + { + text: 'Sim', + handler: () => { + this.save_v2(true) + } + }, + { + text: 'Não', + handler: () => { + this.save_v2(false) + } + } + ] + }).then(res => { + res.present(); + }); + } else { + this.save_v2(false) + } + } + async save_v2(editAllEvent) { this.injectValidation() this.runValidation() @@ -377,7 +403,8 @@ export class EditEventPage implements OnInit { this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); try { - this.agendaDataRepository.updateEvent(this.postEvent.EventId, this.postEvent).subscribe((value) => { + + this.agendaDataRepository.updateEvent(this.postEvent.EventId, this.postEvent, editAllEvent).subscribe((value) => { console.log(value) }, ((error) => { console.log('edit event error: ', error) @@ -632,11 +659,11 @@ export class EditEventPage implements OnInit { const id: any = this.loadedEventAttachments[index].Id this.deletedAttachmentsList.push(id) - /* if (id == 'add') { - this.loadedEventAttachments = this.loadedEventAttachments.filter((e, i) => i != index) - } else { - this.loadedEventAttachments[index]['remove'] = true - } */ + /* if (id == 'add') { + this.loadedEventAttachments = this.loadedEventAttachments.filter((e, i) => i != index) + } else { + this.loadedEventAttachments[index]['remove'] = true + } */ } 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 096db1add..91dc8d03b 100644 --- a/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts +++ b/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts @@ -124,20 +124,20 @@ export class AgendaDataRepositoryService { return this.agendaDataService.createEvent(eventInput) } - updateEvent(eventId, eventData) { + updateEvent(eventId, eventData, editAllEvent) { let eventInput = { subject: eventData.Subject, body: eventData.Body.Text || eventData.Body, location: eventData.Location, - startDate: eventData.StartDate, - endDate: eventData.EndDate, + startDate: this.utils.addOneHourToIsoString(eventData.StartDate), + endDate: this.utils.addOneHourToIsoString(eventData.EndDate), isAllDayEvent: eventData.IsAllDayEvent, - updateAllEvents: false, + updateAllEvents: editAllEvent, type: this.utils.calendarTypeSeleted(eventData.Category), category: this.utils.calendarCategorySeleted(eventData.CalendarName), recurrence: { frequency: this.utils.eventRecurence(eventData.EventRecurrence.frequency), - until: eventData.EventRecurrence.until + until: ((eventData.EventRecurrence.until === "") ? this.utils.addOneHourToIsoString(eventData.EndDate.toISOString()) : eventData.EventRecurrence.until), } } return this.agendaDataService.updateEvent(eventId, eventInput) @@ -198,12 +198,14 @@ export class AgendaDataRepositoryService { await this.createOwnCalendar() return await this.agendaLocalDataSourceService.bulkCreate(result.value.data) } else { + await this.agendaLocalDataSourceService.clearSharedCalendar() await this.createOwnCalendar() return result } } else { - - } + await this.agendaLocalDataSourceService.clearSharedCalendar() + return await this.createOwnCalendar() + } } diff --git a/src/app/services/Repositorys/Agenda/agenda-data.service.ts b/src/app/services/Repositorys/Agenda/agenda-data.service.ts index 8c98533fc..0e1df19f4 100644 --- a/src/app/services/Repositorys/Agenda/agenda-data.service.ts +++ b/src/app/services/Repositorys/Agenda/agenda-data.service.ts @@ -129,6 +129,6 @@ export class AgendaDataService { @APIReturn(SharedCalendarListOutputDTOSchema) async getSharedCalendar() { - return await this.httpService.get(`${this.baseUrl}/Users/id/ShareCalendar?id=${SessionStore.user.UserId}`); + return await this.httpService.get(`${this.baseUrl}/Users/${SessionStore.user.UserId}/ShareCalendar`); } } diff --git a/src/app/services/Repositorys/Agenda/utils.ts b/src/app/services/Repositorys/Agenda/utils.ts index 8602f73ac..1f3d099ee 100644 --- a/src/app/services/Repositorys/Agenda/utils.ts +++ b/src/app/services/Repositorys/Agenda/utils.ts @@ -180,8 +180,18 @@ export class Utils { addOneHourToIsoString(isoDateString) { let date = new Date(isoDateString); - /* date.setHours(date.getHours()); */ - let newIsoDateString = date.toISOString(); - return newIsoDateString; + + const tzOffset = -date.getTimezoneOffset(); // in minutes + const diff = tzOffset >= 0 ? '+' : '-'; + const pad = (n: number) => (n < 10 ? '0' : '') + n; + + return date.getFullYear() + + '-' + pad(date.getMonth() + 1) + + '-' + pad(date.getDate()) + + 'T' + pad(date.getHours()) + + ':' + pad(date.getMinutes()) + + ':' + pad(date.getSeconds()) + + diff + pad(Math.floor(Math.abs(tzOffset) / 60)) + + ':' + pad(Math.abs(tzOffset) % 60); } } diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts index 2034a1c42..61fa30bc9 100644 --- a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts @@ -371,7 +371,7 @@ export class EditEventToApprovePage implements OnInit { try { /* await this.eventsService.postEventToApproveEdit(event).toPromise() */ - this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event).subscribe((value) => { + this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event,false).subscribe((value) => { console.log(value) }, ((error) => { console.log('edit event error: ', error) diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts index fa7586a59..5ad0b0b6f 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.ts +++ b/src/app/shared/agenda/edit-event/edit-event.page.ts @@ -361,7 +361,7 @@ export class EditEventPage implements OnInit { try { - this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent).subscribe((value) => { + this.agendaDataRepository.updateEvent(this._postEvent.EventId, this._postEvent,false).subscribe((value) => { console.log(value) }, ((error) => { console.log('edit event error: ', error) diff --git a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts index 6f884b3e3..d5538ec34 100644 --- a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts +++ b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts @@ -324,7 +324,7 @@ export class EditEventToApproveComponent implements OnInit { this.httpErroHalde.httpStatusHandle(error) }) */ - this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event).subscribe((value) => { + this.agendaDataRepository.updateEvent(this.eventProcess.serialNumber, event,false).subscribe((value) => { console.log(value) }, ((error) => { console.log('edit event error: ', error)