diff --git a/src/app/modals/create-process/create-process.page.ts b/src/app/modals/create-process/create-process.page.ts index aa011be1c..4df7f792d 100644 --- a/src/app/modals/create-process/create-process.page.ts +++ b/src/app/modals/create-process/create-process.page.ts @@ -267,64 +267,149 @@ export class CreateProcessPage implements OnInit { this.dispatchFolder.SubjectTypes = this.selectedTypes; const loader = this.toastService.loading() - switch (this.loggeduser.Profile) { - case 'MDGPR': - switch (this.taskType) { - case '0': // Despacho - this.postData = { - DistributionType: "Paralelo", - CountryCode: 'AO', - Priority: this.postData.Priority, - UserEmail: this.loggeduser.Email, - UsersSelected: attendees, - DispatchFolder: this.dispatchFolder, + if(this.loggeduser.Profile != 'PR') { + switch (this.taskType) { + case '0': // Despacho + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + Priority: this.postData.Priority, + UserEmail: this.loggeduser.Email, + UsersSelected: attendees, + DispatchFolder: this.dispatchFolder, + } + + try { + await this.processes.postDespatcho(this.postData).toPromise(); + await this.despachoService.EfectuarDespacho({serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); + + this.modalController.dismiss(); + this.toastService._successMessage('Despacho criado'); + } catch (error) { + this.toastService._badRequest('Processo não efectuado'); + + } finally { + loader.remove() + } + + break; + case '1': // pedido de Parecer + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + Priority: this.postData.Priority, + UserEmail: this.loggeduser.Email, + UsersSelected: attendees, + DispatchFolder: this.dispatchFolder, + } + + try { + if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') { + await this.despachoService.createParecer(this.postData).toPromise(); + await this.despachoService.solicitarParecer({ serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); + } else { + await this.pedidoService.createParecer(this.postData).toPromise(); + await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber}).toPromise(); } + this.modalController.dismiss(); + this.toastService._successMessage('Pedido de Parecer enviado'); + } + catch (error) { + this.toastService._badRequest('Processo não efectuado'); + } finally { + loader.remove() + } + + break; + case '2': // Pedido de Deferimento + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + Priority: this.postData.Priority, + UserEmail: this.loggeduser.Email, + UsersSelected: attendees, + DispatchFolder: this.dispatchFolder, + } + + try { + await this.pedidoService.createDeferimento(this.postData).toPromise(); + await this.pedidoService.taskCompleteDeferimento({serialNumber:this.task.serialNumber}).toPromise(); + + this.modalController.dismiss(); + this.toastService._successMessage('Pedido de Deferimento criado'); + } + catch (error) { + this.toastService._badRequest('Processo não efectuado'); + } + finally { + loader.remove() + } + break; + } + } else if (this.loggeduser.Profile == 'PR') { + switch (this.taskType) { + case '0': // Despacho PR + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + Priority: this.postData.Priority, + UserEmail: this.loggeduser.Email, + UsersSelected: attendees, + DispatchFolder: this.dispatchFolder, + } + + if(this.postData.DispatchFolder.Message){ try { - await this.processes.postDespatcho(this.postData).toPromise(); - await this.despachoService.EfectuarDespacho({serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); + await this.despachoService.createDespacho(this.postData).toPromise(); + await this.despachoService.CompleteTask({serialNumber: this.task.serialNumber}).toPromise(); this.modalController.dismiss(); this.toastService._successMessage('Despacho criado'); } catch (error) { this.toastService._badRequest('Processo não efectuado'); - } finally { - loader.remove() + //loader.remove(); + } + } + else{ + this.validateField = true; + this.toastService._badRequest('Por favor adicione uma descrição'); + } + loader.remove(); + break; + case '1': // Pedido de Parecer + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + Priority: this.postData.Priority, + UserEmail: this.loggeduser.Email, + UsersSelected: attendees, + DispatchFolder: this.dispatchFolder, + } + + try { + + if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') { + await this.despachoService.createParecer(this.postData).toPromise(); + await this.despachoService.solicitarParecer({ serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); + } else { + await this.pedidoService.createParecer(this.postData).toPromise(); + await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber}).toPromise(); } - break; - case '1': // pedido de Parecer - this.postData = { - DistributionType: "Paralelo", - CountryCode: 'AO', - Priority: this.postData.Priority, - UserEmail: this.loggeduser.Email, - UsersSelected: attendees, - DispatchFolder: this.dispatchFolder, - } + this.modalController.dismiss(); + this.toastService._successMessage('Pedido de Parecer criado'); + } + catch (error) { + this.toastService._badRequest('Processo não efectuado'); + } finally { + loader.remove() + } - try { - if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') { - await this.despachoService.createParecer(this.postData).toPromise(); - await this.despachoService.solicitarParecer({ serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); - } else { - await this.pedidoService.createParecer(this.postData).toPromise(); - await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber}).toPromise(); - } - - this.modalController.dismiss(); - this.toastService._successMessage('Pedido de Parecer enviado'); - } - catch (error) { - this.toastService._badRequest('Processo não efectuado'); - } finally { - loader.remove() - } - - break; - case '2': // Pedido de Deferimento + break; + case '2': // Pedido de Deferimento this.postData = { DistributionType: "Paralelo", CountryCode: 'AO', @@ -343,102 +428,12 @@ export class CreateProcessPage implements OnInit { } catch (error) { this.toastService._badRequest('Processo não efectuado'); - } - finally { + } finally { loader.remove() } + break; - } - - break; - - case 'PR': - switch (this.taskType) { - case '0': // Despacho PR - this.postData = { - DistributionType: "Paralelo", - CountryCode: 'AO', - Priority: this.postData.Priority, - UserEmail: this.loggeduser.Email, - UsersSelected: attendees, - DispatchFolder: this.dispatchFolder, - } - - if(this.postData.DispatchFolder.Message){ - try { - await this.despachoService.createDespacho(this.postData).toPromise(); - await this.despachoService.CompleteTask({serialNumber: this.task.serialNumber}).toPromise(); - - this.modalController.dismiss(); - this.toastService._successMessage('Despacho criado'); - } catch (error) { - this.toastService._badRequest('Processo não efectuado'); - } finally { - //loader.remove(); - } - } - else{ - this.validateField = true; - this.toastService._badRequest('Por favor adicione uma descrição'); - } - loader.remove(); - break; - case '1': // Pedido de Parecer - this.postData = { - DistributionType: "Paralelo", - CountryCode: 'AO', - Priority: this.postData.Priority, - UserEmail: this.loggeduser.Email, - UsersSelected: attendees, - DispatchFolder: this.dispatchFolder, - } - - try { - - if(this.task.activityInstanceName == 'Tarefa de Despacho' || this.task.activityInstanceName == 'Reexecutar Despacho') { - await this.despachoService.createParecer(this.postData).toPromise(); - await this.despachoService.solicitarParecer({ serialnumber: this.task.serialNumber, activityInstanceName: this.task.activityInstanceName}).toPromise(); - } else { - await this.pedidoService.createParecer(this.postData).toPromise(); - await this.pedidoService.taskCompleteParecer({serialNumber:this.task.serialNumber}).toPromise(); - } - - this.modalController.dismiss(); - this.toastService._successMessage('Pedido de Parecer criado'); - } - catch (error) { - this.toastService._badRequest('Processo não efectuado'); - } finally { - loader.remove() - } - - break; - case '2': // Pedido de Deferimento - this.postData = { - DistributionType: "Paralelo", - CountryCode: 'AO', - Priority: this.postData.Priority, - UserEmail: this.loggeduser.Email, - UsersSelected: attendees, - DispatchFolder: this.dispatchFolder, - } - - try { - await this.pedidoService.createDeferimento(this.postData).toPromise(); - await this.pedidoService.taskCompleteDeferimento({serialNumber:this.task.serialNumber}).toPromise(); - - this.modalController.dismiss(); - this.toastService._successMessage('Pedido de Deferimento criado'); - } - catch (error) { - this.toastService._badRequest('Processo não efectuado'); - } finally { - loader.remove() - } - - break; - } - break; + } } } diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 5d7289ebb..5370bb53e 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -106,21 +106,20 @@
- {{ sessionStore.getInitials }} + MC
-
- {{ sessionStore.getManagerInitials }} + CP
- - @@ -205,7 +204,6 @@ - Hoje,  {{ timelineDate }} @@ -284,8 +282,9 @@ {{ event.event.CalendarName }}
{{event.event.Location}}
-

{{event.event.Subject}}

+

{{event.event.Subject}}

+
{{ eventService.getCalendarOwnNameByCalendarId(event.event.CalendarId) }}
@@ -324,8 +323,9 @@
{{event.event.Location}}
-

{{event.event.Subject}}

+

{{event.event.Subject}}

+
{{ eventService.getCalendarOwnNameByCalendarId(event.event.CalendarId) }}
@@ -365,8 +365,9 @@
{{event.event.Location}}
-

{{event.event.Subject}}

+

{{event.event.Subject}}

+
{{ eventService.getCalendarOwnNameByCalendarId(event.event.CalendarId) }}
diff --git a/src/app/pages/agenda/agenda.page.scss b/src/app/pages/agenda/agenda.page.scss index fc57c4e31..0abdea4dd 100644 --- a/src/app/pages/agenda/agenda.page.scss +++ b/src/app/pages/agenda/agenda.page.scss @@ -524,7 +524,7 @@ td.monthview-primary-with-event { color: var(--title-text-color); } - .description p{ + .description p { white-space: nowrap; overflow: hidden !important; text-overflow: ellipsis !important; @@ -864,17 +864,23 @@ $font-size: 11pt; border-radius: 44px; text-align: center; align-items: center; - display: flex; justify-content: center; margin-top: -3px; border: 1.5px solid black; color: white; + display: none; .text{ } } +@media only screen and (max-width: 800px) { + .calendar-letters { + display: flex !important; + } +} + .cal-reverse { background: white !important; color: black !important; diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 3249f2caa..994ae6cc2 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -796,7 +796,7 @@ export class AgendaPage implements OnInit { } else { - if(this.loggeduser.OwnerCalendars.length != 0) { + if(this.loggeduser.OwnerCalendars.length != 0 ) { this.eventService.getAllOwnEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { @@ -840,7 +840,7 @@ export class AgendaPage implements OnInit { - if(this.loggeduser.SharedCalendars.length != 0) { + if(this.loggeduser.SharedCalendars.length != 0 ) { this.eventService.genericGetAllSharedEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { @@ -1100,8 +1100,8 @@ export class AgendaPage implements OnInit { } } else { - this.TimelinePRList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) + this.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) + this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) } diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html index 17c082711..19ddea156 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.html @@ -83,7 +83,44 @@ (viewDocument)="viewDocument($event)" > --> +
+ +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+
diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html index 907aef432..2f58dcdcc 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.html @@ -6,8 +6,8 @@
- -
+ +
@@ -126,5 +126,46 @@
-->
+ +
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+
+ + diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index eaa90c23d..79412d5fd 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -125,6 +125,7 @@ export class ExpedienteDetailPage implements OnInit { this.sqliteservice.updateProcess(res) } } + getFromDB() { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { this.storage.get('expediente_details').then((process) => { diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html index 4f33afd8d..5d2d76ee3 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html @@ -80,6 +80,45 @@
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+ + +
+ +

+

+
+
+
+
@@ -136,5 +175,4 @@
- - + \ No newline at end of file diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index fe561c949..3d355a5a9 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -42,6 +42,19 @@ export class EventsService { calendarIds = [] + hasSharedOficial: boolean = false; + hasSharedPessoal: boolean = false; + hasOwnOficial: boolean = false; + hasOwnPessoal: boolean = false; + + + + userCalendarNameSharedOficial = ''; + userCalendarNameSharedPessoal = ''; + userCalendarNameOwnOficial = ''; + userCalendarNameOwnPessoal = ''; + + calendarNames = {} constructor( private http: HttpClient, @@ -52,7 +65,8 @@ export class EventsService { private backgroundservice: BackgroundService) { this.loggeduser = this.user.ValidatedUser; - + + this.headers = new HttpHeaders(); this.headersMdOficial = new HttpHeaders(); this.headersMdPessoal = new HttpHeaders(); @@ -78,17 +92,32 @@ export class EventsService { } - setHeader() { + async setHeader () { this.hasSharedCalendar = false + this.hasSharedOficial = false + this.hasSharedPessoal = false + this.hasOwnCalendar = false + this.hasOwnOficial = false + this.hasOwnPessoal = false + + this.headers = new HttpHeaders(); + this.headerOwnOficial= new HttpHeaders(); this.headerOwnPessoal= new HttpHeaders(); this.headerSharedOficial= new HttpHeaders(); this.headerSharedPessoal= new HttpHeaders(); + + this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey); + + this.userCalendarNameSharedOficial = ''; + this.userCalendarNameSharedPessoal = ''; + this.userCalendarNameOwnOficial = ''; + this.userCalendarNameOwnPessoal = ''; - this.calendarIds = [] + this.calendarIds = []; if (this.loggeduser) { if (this.loggeduser.Profile == 'MDGPR') { @@ -96,11 +125,18 @@ export class EventsService { this.loggeduser.OwnerCalendars.forEach(calendar => { if (calendar.CalendarName == 'Oficial') { + + this.hasOwnOficial = true + + this.headersMdOficial = this.headersMdOficial.set('Authorization', this.loggeduser.BasicAuthKey); this.headersMdOficial = this.headersMdOficial.set('CalendarId', calendar.CalendarId); this.headersMdOficial = this.headersMdOficial.set('CalendarRoleId', calendar.CalendarRoleId); } else if (calendar.CalendarName == 'Pessoal') { + + this.hasOwnPessoal = true + this.headersMdPessoal = this.headersMdPessoal.set('Authorization', this.loggeduser.BasicAuthKey); this.headersMdPessoal = this.headersMdPessoal.set('CalendarId', calendar.CalendarId); this.headersMdPessoal = this.headersMdPessoal.set('CalendarRoleId', calendar.CalendarRoleId); @@ -111,11 +147,17 @@ export class EventsService { this.loggeduser.SharedCalendars.forEach(sharedCalendar => { if (sharedCalendar.CalendarName == 'Oficial') { + + this.hasSharedOficial = true + this.headersSharedOficial = this.headersSharedOficial.set('Authorization', this.loggeduser.BasicAuthKey); this.headersSharedOficial = this.headersSharedOficial.set('CalendarId', sharedCalendar.CalendarId); this.headersSharedOficial = this.headersSharedOficial.set('CalendarRoleId', sharedCalendar.CalendarRoleId); } else if (sharedCalendar.CalendarName == 'Pessoal') { + + this.hasSharedPessoal = true + this.headersSharedPessoal = this.headersSharedPessoal.set('Authorization', this.loggeduser.BasicAuthKey); this.headersSharedPessoal = this.headersSharedPessoal.set('CalendarId', sharedCalendar.CalendarId); this.headersSharedPessoal = this.headersSharedPessoal.set('CalendarRoleId', sharedCalendar.CalendarRoleId); @@ -128,11 +170,17 @@ export class EventsService { this.loggeduser.OwnerCalendars.forEach(calendar => { if (calendar.CalendarName == 'Oficial') { + + this.hasOwnOficial = true + this.headersPrOficial = this.headersPrOficial.set('Authorization', this.loggeduser.BasicAuthKey); this.headersPrOficial = this.headersPrOficial.set('CalendarId', calendar.CalendarId); this.headersPrOficial = this.headersPrOficial.set('CalendarRoleId', calendar.CalendarRoleId); } else if (calendar.CalendarName == 'Pessoal') { + + this.hasOwnPessoal = true + this.headersPrPessoal = this.headersPrPessoal.set('Authorization', this.loggeduser.BasicAuthKey); this.headersPrPessoal = this.headersPrPessoal.set('CalendarId', calendar.CalendarId); this.headersPrPessoal = this.headersPrPessoal.set('CalendarRoleId', calendar.CalendarRoleId); @@ -151,12 +199,18 @@ export class EventsService { this.hasOwnCalendar = true if (calendar.CalendarName == 'Oficial') { + + this.hasOwnOficial = true + this.headerOwnOficial = this.headerOwnOficial.set('Authorization', this.loggeduser.BasicAuthKey); this.headerOwnOficial = this.headerOwnOficial.set('CalendarId', calendar.CalendarId); this.headerOwnOficial = this.headerOwnOficial.set('CalendarRoleId', calendar.CalendarRoleId); this.headerOwnOficial = this.headerOwnOficial.set('CalendarName', calendar.CalendarName); } else if (calendar.CalendarName == 'Pessoal') { + + this.hasOwnPessoal = true + this.headerOwnPessoal = this.headerOwnPessoal.set('Authorization', this.loggeduser.BasicAuthKey); this.headerOwnPessoal =this.headerOwnPessoal.set('CalendarId', calendar.CalendarId); this.headerOwnPessoal =this.headerOwnPessoal.set('CalendarRoleId', calendar.CalendarRoleId); @@ -175,25 +229,41 @@ export class EventsService { this.hasSharedCalendar = true if (sharedCalendar.CalendarName == 'Oficial') { - sharedCalendar.CalendarName + this.hasSharedOficial = true + this.headerSharedOficial = this.headerSharedOficial.set('Authorization', 'Basic '+sharedCalendar.CalendarToken); this.headerSharedOficial = this.headerSharedOficial.set('CalendarId', sharedCalendar.CalendarId); this.headerSharedOficial = this.headerSharedOficial.set('CalendarRoleId', sharedCalendar.CalendarRoleId); this.headerSharedOficial = this.headerSharedOficial.set('CalendarName', sharedCalendar.CalendarName); } else if (sharedCalendar.CalendarName == 'Pessoal') { + + this.hasSharedPessoal = true + this.headerSharedPessoal = this.headerSharedPessoal.set('Authorization', 'Basic '+sharedCalendar.CalendarToken); this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarId', sharedCalendar.CalendarId); this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarRoleId', sharedCalendar.CalendarRoleId); this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarName', sharedCalendar.CalendarName); } - } - this.headers = new HttpHeaders(); - this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey); + for (let sharedCalendar of this.loggeduser.SharedCalendars) { + this.GetCalendarName(sharedCalendar.OwnerUserId).subscribe((e)=> { + this.calendarNames[sharedCalendar.CalendarId] = e.FullName + }) + } + + for (let sharedCalendar of this.loggeduser.OwnerCalendars) { + this.GetCalendarName(sharedCalendar.OwnerUserId).subscribe((e)=> { + this.calendarNames[sharedCalendar.CalendarId] = e.FullName + }) + } + } } } + getCalendarOwnNameByCalendarId(CalendarId) { + return this.calendarNames[CalendarId] || "" + } isMyEvent(event: any) { @@ -248,8 +318,11 @@ export class EventsService { } async getAllPrEvents(startdate: string, enddate: string): Promise { - let prO = await this.getAllPrOficialEvents(startdate, enddate).toPromise(); - let prP = await this.getAllPrPessoalEvents(startdate, enddate).toPromise(); + + let prO = [], prP = []; + + prO = await this.getAllPrOficialEvents(startdate, enddate).toPromise(); + prP = await this.getAllPrPessoalEvents(startdate, enddate).toPromise(); const resFinal = prO.concat(prP); return new Promise(resolve => { return resolve(resFinal) @@ -286,9 +359,29 @@ export class EventsService { return this.http.get(`${geturl}`, options) } + + GetCalendarName(userid:string) { + + let geturl = environment.apiURL + 'userauthentication/single'; + + let params = new HttpParams(); + + params = params.set("id", userid); + + let options = { + headers: this.headers, + params: params + } + + return this.http.get(`${geturl}`, options) + } + async getAllMdEvents(startdate: string, enddate: string) { - let prO = await this.getAllMdOficialEvents(startdate, enddate).toPromise(); - let prP = await this.getAllMdPessoalEvents(startdate, enddate).toPromise(); + + let prO = [], prP = []; + + prO = await this.getAllMdOficialEvents(startdate, enddate).toPromise(); + prP = await this.getAllMdPessoalEvents(startdate, enddate).toPromise(); const resFinal = prO.concat(prP); return new Promise(resolve => { return resolve(resFinal) @@ -296,9 +389,20 @@ export class EventsService { } + + async getAllOwnEvents(startdate: string, enddate: string) { - let ownO = await this.getAllOwnOficialEvents(startdate, enddate).toPromise(); - let ownP = await this.getAllOwnPessoalEvents(startdate, enddate).toPromise(); + + let ownO = [], ownP = []; + + if(this.hasOwnOficial) { + ownO = await this.getAllOwnOficialEvents(startdate, enddate).toPromise(); + } + + if(this.hasOwnPessoal) { + ownP = await this.getAllOwnPessoalEvents(startdate, enddate).toPromise(); + } + const resFinal = ownO.concat(ownP); return new Promise(resolve => { return resolve(resFinal) @@ -338,12 +442,36 @@ export class EventsService { async genericGetAllSharedEvents(startdate: string, enddate: string) { - let prO = await this.genericGetAllSharedOficialEvents(startdate, enddate).toPromise(); - let prP = await this.genericGetAllSharedPessoalEvents(startdate, enddate).toPromise(); - const resFinal = prO.concat(prP); + let result = [] + + for (let sharedCalendar of this.loggeduser.SharedCalendars) { + + var header = new HttpHeaders(); + header = header.set('Authorization', 'Basic '+ sharedCalendar.CalendarToken); + header = header.set('CalendarId', sharedCalendar.CalendarId); + header = header.set('CalendarRoleId', sharedCalendar.CalendarRoleId); + header = header.set('CalendarName', sharedCalendar.CalendarName); + + let geturl = environment.apiURL + 'calendar/GetEvents'; + + let params = new HttpParams(); + + params = params.set("StartDate", startdate); + params = params.set("EndDate", enddate); + + let options = { + headers: header, + params: params + }; + + const calendar = await this.http.get(`${geturl}`, options).toPromise() + + result = result.concat(calendar) + + } return new Promise(resolve => { - return resolve(resFinal) + return resolve(result) }); } @@ -497,7 +625,6 @@ export class EventsService { } throw('error') - } putEvent(event: Event, conflictResolutionMode: number, sendInvitationsOrCancellationsMode: number, sharedagenda: string): Observable {