diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 9c0f87f1b..e6a2b3f56 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -70,16 +70,16 @@
PR
MDGPR
-
Agenda do {{calendars.wxFullName}}
+
Agenda {{calendars.wxFullName}}
Minha agenda
-
+
{{ environment.agendaPR}}
{{ environment.agendaVP}}
-
Agenda do {{calendars.wxFullName}}
+
Agenda {{calendars.wxFullName}}
Minha agenda
diff --git a/src/app/pages/agenda/new-event/new-event.page.html b/src/app/pages/agenda/new-event/new-event.page.html index 5fc62850f..d9e330f8a 100644 --- a/src/app/pages/agenda/new-event/new-event.page.html +++ b/src/app/pages/agenda/new-event/new-event.page.html @@ -86,13 +86,13 @@ - + Reunião - + Viagem - + Conferência @@ -188,17 +188,6 @@ - - - - - - - - - new Date(this.postEvent.EndDate).getTime() ? 'ok' : null, [ + /* dateOccurrence: new FormControl(this.postEvent.EventRecurrence.Type.toString() == '-1' ? ['ok'] : this.postEvent.EventRecurrence.LastOccurrence && new Date(this.postEvent.EventRecurrence.LastOccurrence).getTime() > new Date(this.postEvent.EndDate).getTime() ? 'ok' : null, [ Validators.required - ]), + ]), */ }) @@ -472,11 +472,14 @@ export class NewEventPage implements OnInit { this.injectValidation() this.runValidation() + console.log(new Date(this.postEvent.StartDate).getTime()) + console.log(new Date(this.postEvent.EndDate).getTime()) + console.log(new Date(this.postEvent.StartDate).getTime() < new Date(this.postEvent.EndDate).getTime() ? 'ok' : null) if (this.Form.invalid) { - if (new Date(this.postEvent.StartDate).getTime() < new Date(this.postEvent.EndDate).getTime()) { + /* if (new Date(this.postEvent.StartDate).getTime() < new Date(this.postEvent.EndDate).getTime()) { this.toastService._badRequest("Data de inicio menor que a data de fim") - } + } */ return false } 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 27d6b1f98..1ebc85801 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -242,35 +242,73 @@ export class ViewEventPage implements OnInit { } */ deleteYesOrNo() { - this.alertController.create({ - header: 'Eliminar evento?', - message: '', - buttons: [ - { - text: 'Sim', - handler: () => { - this.deleteEvent(); + if (this.loadedEvent.IsRecurring) { + this.alertController.create({ + header: 'Eliminar evento?', + message: '', + inputs: [ + { + name: 'confirm', + type: 'checkbox', + label: 'Este evento tem recorrência, deseja eliminar a Sequência de eventos?', + value: 'confirm', + checked: false, } - }, - { - text: 'Não', - handler: () => { - // sconsole.log('Let me think'); + ], + buttons: [ + { + text: 'Sim', + handler: (data) => { + if (data.includes('confirm')) { + this.deleteEvent(true); + } else { + this.deleteEvent(false); + } + + } + }, + { + text: 'Não', + handler: () => { + // sconsole.log('Let me think'); + } } - } - ] - }).then(res => { - res.present(); - }); + ] + }).then(res => { + res.present(); + }); + } else { + this.alertController.create({ + header: 'Eliminar evento?', + message: '', + buttons: [ + { + text: 'Sim', + handler: (data) => { + this.deleteEvent(false); + } + }, + { + text: 'Não', + handler: () => { + // sconsole.log('Let me think'); + } + } + ] + }).then(res => { + res.present(); + }); + } + } - deleteEvent() { + deleteEvent(deleteAll) { const loader = this.toastService.loading() console.log(this.loadedEvent.EventId) - this.agendaDataRepository.deleteEvent(this.loadedEvent.EventId).subscribe(async () => { + this.agendaDataRepository.deleteEvent(this.loadedEvent.EventId,deleteAll).subscribe(async () => { const alert = await this.alertController.create({ cssClass: 'my-custom-class', header: 'Evento removido', @@ -292,47 +330,47 @@ export class ViewEventPage implements OnInit { - /* if (this.sesseionStora.user.Profile == 'MDGPR' || this.sesseionStora.user.Profile == 'PR') { - this.eventsService.deleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName).subscribe(async () => { - const alert = await this.alertController.create({ - cssClass: 'my-custom-class', - header: 'Evento removido', - buttons: ['OK'] - }); - - setTimeout(() => { - alert.dismiss(); - }, 1500); - this.goBack(); - this.httpErrorHandle.httpsSucessMessagge('delete event') - }, () => { }, - () => { - loader.remove(); - }); - - } else { - - this.eventsService.genericDeleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName, this.loadedEvent.CalendarId).subscribe(async () => { - const alert = await this.alertController.create({ - cssClass: 'my-custom-class', - header: 'Evento removido', - buttons: ['OK'] - }); - - setTimeout(() => { - alert.dismiss(); - }, 1500); - this.goBack(); - this.httpErrorHandle.httpsSucessMessagge('delete event') - }, (error) => { - this.httpErrorHandle.httpStatusHandle(error) - }, - () => { - loader.remove(); - }); - - - } */ + /* if (this.sesseionStora.user.Profile == 'MDGPR' || this.sesseionStora.user.Profile == 'PR') { + this.eventsService.deleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName).subscribe(async () => { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento removido', + buttons: ['OK'] + }); + + setTimeout(() => { + alert.dismiss(); + }, 1500); + this.goBack(); + this.httpErrorHandle.httpsSucessMessagge('delete event') + }, () => { }, + () => { + loader.remove(); + }); + + } else { + + this.eventsService.genericDeleteEvent(this.loadedEvent.EventId, 0, this.loadedEvent.CalendarName, this.loadedEvent.CalendarId).subscribe(async () => { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento removido', + buttons: ['OK'] + }); + + setTimeout(() => { + alert.dismiss(); + }, 1500); + this.goBack(); + this.httpErrorHandle.httpsSucessMessagge('delete event') + }, (error) => { + this.httpErrorHandle.httpStatusHandle(error) + }, + () => { + loader.remove(); + }); + + + } */ } 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 c8f0acc5d..096db1add 100644 --- a/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts +++ b/src/app/services/Repositorys/Agenda/agenda-data-repository.service.ts @@ -97,6 +97,7 @@ export class AgendaDataRepositoryService { } createEvent(eventData: Event, CalendarName, documents) { + console.log('create repository 1',eventData) let eventInput = { userId: CalendarName, @@ -104,20 +105,22 @@ export class AgendaDataRepositoryService { subject: eventData.Subject, body: eventData.Body.Text, location: eventData.Location, - startDate: eventData.StartDate.toISOString(), - endDate: eventData.EndDate.toISOString(), + startDate: this.utils.addOneHourToIsoString(eventData.StartDate.toISOString()), + endDate: this.utils.addOneHourToIsoString(eventData.EndDate.toISOString()), type: this.utils.calendarTypeSeleted(eventData.Category), category: this.utils.calendarCategorySeleted(eventData.CalendarName), attendees: this.utils.attendeesAdded(eventData.Attendees), attachments: this.utils.documentAdded(documents), recurrence: { frequency: this.utils.eventRecurence(eventData.EventRecurrence.frequency), - until: eventData.EndDate.toISOString(), + until:((eventData.EventRecurrence.until === "") ? this.utils.addOneHourToIsoString(eventData.EndDate.toISOString()) : eventData.EventRecurrence.until), }, organizerId: SessionStore.user.UserId, isAllDayEvent: eventData.IsAllDayEvent, } + console.log('create repository 2',eventInput) + return this.agendaDataService.createEvent(eventInput) } @@ -152,8 +155,8 @@ export class AgendaDataRepositoryService { return this.agendaDataService.addEventAttachment(id, { attachments: this.utils.documentAdded(attachmentData) }); } - deleteEvent(eventId) { - return this.agendaDataService.deleteEvent(eventId, false) + deleteEvent(eventId,deleteAll) { + return this.agendaDataService.deleteEvent(eventId, deleteAll) } removeEventAttachment(eventId, attachmentData) { diff --git a/src/app/services/Repositorys/Agenda/mapper/EventDetailsMapper.ts b/src/app/services/Repositorys/Agenda/mapper/EventDetailsMapper.ts index d5ef3d23b..f5bc3c2de 100644 --- a/src/app/services/Repositorys/Agenda/mapper/EventDetailsMapper.ts +++ b/src/app/services/Repositorys/Agenda/mapper/EventDetailsMapper.ts @@ -67,8 +67,8 @@ export class EventMapper { "DayOfWeek": null, "Month": null, "LastOccurrence": null, - "frequency": dto.eventRecurrence.frequency, - "until": dto.eventRecurrence.until + "frequency": dto.eventRecurrence?.frequency, + "until": dto.eventRecurrence?.until }, "Attachments": dto.attachments.map( e => ({ "Id": e.id, diff --git a/src/app/services/Repositorys/Agenda/utils.ts b/src/app/services/Repositorys/Agenda/utils.ts index c8e158bf7..8602f73ac 100644 --- a/src/app/services/Repositorys/Agenda/utils.ts +++ b/src/app/services/Repositorys/Agenda/utils.ts @@ -176,4 +176,12 @@ export class Utils { } return selectedType[recurenceType]; } + + + addOneHourToIsoString(isoDateString) { + let date = new Date(isoDateString); + /* date.setHours(date.getHours()); */ + let newIsoDateString = date.toISOString(); + return newIsoDateString; + } } diff --git a/src/app/shared/agenda/new-event/new-event.page.html b/src/app/shared/agenda/new-event/new-event.page.html index 110645580..2af5e865b 100644 --- a/src/app/shared/agenda/new-event/new-event.page.html +++ b/src/app/shared/agenda/new-event/new-event.page.html @@ -102,13 +102,13 @@ - + Reunião - + Viagem - + Conferência diff --git a/src/app/shared/agenda/new-event/new-event.page.ts b/src/app/shared/agenda/new-event/new-event.page.ts index 33e260a82..2543bdb92 100644 --- a/src/app/shared/agenda/new-event/new-event.page.ts +++ b/src/app/shared/agenda/new-event/new-event.page.ts @@ -207,7 +207,6 @@ export class NewEventPage implements OnInit { } ngOnInit() { - console.log(' INTERVENIENTES', this.taskParticipants) this.changeProfileService.registerCallback(() => { this.initializeData() @@ -278,7 +277,7 @@ export class NewEventPage implements OnInit { Category: 'Reunião', HasAttachments: false, EventRecurrence: { - frequency: this.eventRecurence, until: this.autoEndTime, + frequency: this.eventRecurence, until: "", Type: '' }, }; @@ -302,7 +301,7 @@ export class NewEventPage implements OnInit { Organizer: '', Category: 'Reunião', HasAttachments: false, - EventRecurrence: { frequency: this.eventRecurence, until: this.autoEndTime, + EventRecurrence: { frequency: this.eventRecurence, until: "", Type: '' }, } } @@ -595,6 +594,7 @@ export class NewEventPage implements OnInit { }, ((error) => { console.log('create event error: ', error) loader.remove(); + this.hhtpErrorHandle.httpStatusHandle(error.status) })); diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts index bc55dd045..8277d797d 100644 --- a/src/app/shared/agenda/view-event/view-event.page.ts +++ b/src/app/shared/agenda/view-event/view-event.page.ts @@ -92,7 +92,7 @@ export class ViewEventPage implements OnInit { } toDateString(e) { - return new Date(e).toDateString() + return new Date(e).toString() } openOptions() { @@ -140,19 +140,54 @@ export class ViewEventPage implements OnInit { this.viewEventDetailDismiss.emit({ type: 'close' }) + console.log(res.error) } } deleteYesOrNo() { - this.alertController.create({ + if (this.loadedEvent.IsRecurring) { + this.alertController.create({ + header: 'Eliminar evento?', + message: '', + inputs: [ + { + name: 'confirm', + type: 'checkbox', + label: 'Este evento tem recorrência, deseja eliminar a Sequência de eventos?', + value: 'confirm', + checked: false, + } + ], + buttons: [ + { + text: 'Sim', + handler: (data) => { + if (data.includes('confirm')) { + this.deleteEvent_v2(true); + } else { + this.deleteEvent_v2(false); + } + } + }, + { + text: 'Não', + handler: () => { + } + } + ] + }).then(res => { + res.present(); + }); + } else { + this.alertController.create({ header: 'Eliminar evento?', message: '', buttons: [ { text: 'Sim', handler: () => { - this.deleteEvent_v2(); + this.deleteEvent_v2(false); } }, { @@ -164,12 +199,14 @@ export class ViewEventPage implements OnInit { }).then(res => { res.present(); }); + } + } - deleteEvent_v2() { + deleteEvent_v2(deleteAll) { console.log(this.loadedEvent.EventId) const loader = this.toastService.loading() - this.agendaDataRepository.deleteEvent(this.loadedEvent.EventId).subscribe(() => { + this.agendaDataRepository.deleteEvent(this.loadedEvent.EventId,deleteAll).subscribe(() => { console.log() this.httpErrorHandle.httpsSucessMessagge('delete event') this.close();