2020-08-18 23:32:12 +01:00
|
|
|
import { Injectable } from '@angular/core';
|
2021-05-14 14:37:38 +01:00
|
|
|
import { Event, EventToApproveEdit } from '../models/event.model';
|
2020-08-21 16:18:37 +01:00
|
|
|
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
|
2021-10-19 09:41:06 +01:00
|
|
|
import { Observable, from } from 'rxjs';
|
2020-08-21 00:22:51 +01:00
|
|
|
import { environment } from 'src/environments/environment';
|
|
|
|
|
import { AuthService } from '../services/auth.service';
|
2021-09-29 15:17:21 +01:00
|
|
|
import { UserSession } from '../models/user.model';
|
2021-08-31 09:00:33 +01:00
|
|
|
import { EventList } from '../models/agenda/AgendaEventList';
|
2021-09-28 11:31:10 +01:00
|
|
|
import { ChangeProfileService } from './change-profile.service';
|
2021-10-18 07:44:24 +01:00
|
|
|
import { OfflineManagerService } from 'src/app/services/offline-manager.service';
|
|
|
|
|
import { catchError } from "rxjs/operators";
|
|
|
|
|
import { Storage } from '@ionic/storage';
|
2021-10-19 09:41:06 +01:00
|
|
|
import { BackgroundService } from 'src/app/services/background.service';
|
2020-08-20 14:28:50 +01:00
|
|
|
|
2020-08-24 23:41:15 +01:00
|
|
|
|
2020-08-18 23:32:12 +01:00
|
|
|
@Injectable({
|
|
|
|
|
providedIn: 'root'
|
|
|
|
|
})
|
|
|
|
|
export class EventsService {
|
2020-08-21 16:18:37 +01:00
|
|
|
|
|
|
|
|
authheader = {};
|
2021-09-03 12:19:21 +01:00
|
|
|
loggeduser: UserSession;
|
2020-08-21 16:18:37 +01:00
|
|
|
headers: HttpHeaders;
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
headersPrOficial: HttpHeaders;
|
|
|
|
|
headersPrPessoal: HttpHeaders;
|
|
|
|
|
|
|
|
|
|
headersMdOficial: HttpHeaders;
|
|
|
|
|
headersMdPessoal: HttpHeaders;
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
headerOwnOficial: HttpHeaders;
|
2022-04-02 14:13:37 +01:00
|
|
|
headerOwnPessoal: HttpHeaders;
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
headerSharedOficial: HttpHeaders;
|
|
|
|
|
headerSharedPessoal: HttpHeaders;
|
|
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
headersSharedOficial: HttpHeaders;
|
|
|
|
|
headersSharedPessoal: HttpHeaders;
|
2020-08-18 23:32:12 +01:00
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
hasSharedCalendar = false
|
|
|
|
|
hasOwnCalendar = false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
calendarOwnerIds = []
|
|
|
|
|
|
2021-09-28 11:31:10 +01:00
|
|
|
constructor(
|
2021-10-19 09:41:06 +01:00
|
|
|
private http: HttpClient,
|
2021-09-28 11:31:10 +01:00
|
|
|
public user: AuthService,
|
2021-10-18 07:44:24 +01:00
|
|
|
private changeProfileService: ChangeProfileService,
|
|
|
|
|
private offlinemanager: OfflineManagerService,
|
2021-10-19 09:41:06 +01:00
|
|
|
private storage: Storage,
|
|
|
|
|
private backgroundservice: BackgroundService) {
|
2021-09-28 11:31:10 +01:00
|
|
|
|
|
|
|
|
this.loggeduser = this.user.ValidatedUser;
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
this.headersMdOficial = new HttpHeaders();
|
|
|
|
|
this.headersMdPessoal = new HttpHeaders();
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
this.headersPrOficial = new HttpHeaders();
|
|
|
|
|
this.headersPrPessoal = new HttpHeaders();
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
this.headersSharedOficial = new HttpHeaders();
|
|
|
|
|
this.headersSharedPessoal = new HttpHeaders();
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
this.headerOwnOficial= new HttpHeaders();
|
2022-04-02 14:13:37 +01:00
|
|
|
this.headerOwnPessoal= new HttpHeaders();
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
this.headerSharedOficial= new HttpHeaders();
|
|
|
|
|
this.headerSharedPessoal= new HttpHeaders();
|
|
|
|
|
|
|
|
|
|
|
2021-09-28 11:31:10 +01:00
|
|
|
this.setHeader()
|
2021-10-19 09:41:06 +01:00
|
|
|
this.changeProfileService.registerCallback(() => {
|
2021-09-28 11:31:10 +01:00
|
|
|
this.loggeduser = this.user.ValidatedUser;
|
|
|
|
|
this.setHeader()
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setHeader() {
|
|
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
this.hasSharedCalendar = false
|
|
|
|
|
this.hasOwnCalendar = false
|
|
|
|
|
|
|
|
|
|
this.calendarOwnerIds = []
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
if (this.loggeduser) {
|
|
|
|
|
if (this.loggeduser.Profile == 'MDGPR') {
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-08-10 09:40:14 +01:00
|
|
|
this.loggeduser.OwnerCalendars.forEach(calendar => {
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
|
|
|
|
|
this.calendarOwnerIds.push(calendar.OwnerUserId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.hasOwnCalendar = true
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
if (calendar.CalendarName == 'Oficial') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (calendar.CalendarName == 'Pessoal') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-07-01 16:23:47 +01:00
|
|
|
}
|
|
|
|
|
});
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-08-10 09:40:14 +01:00
|
|
|
this.loggeduser.SharedCalendars.forEach(sharedCalendar => {
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
if(!this.calendarOwnerIds.includes(sharedCalendar.OwnerUserId)) {
|
|
|
|
|
this.calendarOwnerIds.push(sharedCalendar.OwnerUserId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.hasSharedCalendar = true
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
if (sharedCalendar.CalendarName == 'Oficial') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (sharedCalendar.CalendarName == 'Pessoal') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (this.loggeduser.Profile == 'PR') {
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
this.loggeduser.OwnerCalendars.forEach(calendar => {
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
|
|
|
|
|
this.calendarOwnerIds.push(calendar.OwnerUserId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.hasOwnCalendar = true
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
if (calendar.CalendarName == 'Oficial') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (calendar.CalendarName == 'Pessoal') {
|
2021-07-01 16:23:47 +01:00
|
|
|
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);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-07-01 16:23:47 +01:00
|
|
|
}
|
|
|
|
|
});
|
2022-04-02 09:40:09 +01:00
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.loggeduser.OwnerCalendars.forEach(calendar => {
|
|
|
|
|
|
|
|
|
|
if(!this.calendarOwnerIds.includes(calendar.OwnerUserId)) {
|
|
|
|
|
this.calendarOwnerIds.push(calendar.OwnerUserId)
|
|
|
|
|
}
|
|
|
|
|
this.hasOwnCalendar = true
|
|
|
|
|
|
|
|
|
|
if (calendar.CalendarName == 'Oficial') {
|
|
|
|
|
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);
|
2022-04-02 14:13:37 +01:00
|
|
|
this.headerOwnOficial = this.headerOwnOficial.set('CalendarName', calendar.CalendarName);
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
|
|
|
|
else if (calendar.CalendarName == 'Pessoal') {
|
2022-04-02 14:13:37 +01:00
|
|
|
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);
|
|
|
|
|
this.headerOwnPessoal = this.headerOwnPessoal.set('CalendarName', calendar.CalendarName);
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (let sharedCalendar of this.loggeduser.SharedCalendars) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!this.calendarOwnerIds.includes(sharedCalendar.OwnerUserId)) {
|
|
|
|
|
this.calendarOwnerIds.push(sharedCalendar.OwnerUserId)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.hasSharedCalendar = true
|
|
|
|
|
|
|
|
|
|
if (sharedCalendar.CalendarName == 'Oficial') {
|
2022-04-02 14:13:37 +01:00
|
|
|
sharedCalendar.CalendarName
|
2022-04-02 09:40:09 +01:00
|
|
|
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);
|
2022-04-02 14:13:37 +01:00
|
|
|
this.headerSharedOficial = this.headerSharedOficial.set('CalendarName', sharedCalendar.CalendarName);
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
|
|
|
|
else if (sharedCalendar.CalendarName == 'Pessoal') {
|
|
|
|
|
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);
|
2022-04-02 14:13:37 +01:00
|
|
|
this.headerSharedPessoal = this.headerSharedPessoal.set('CalendarName', sharedCalendar.CalendarName);
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-01 16:23:47 +01:00
|
|
|
}
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-07-01 16:23:47 +01:00
|
|
|
this.headers = new HttpHeaders();
|
|
|
|
|
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
|
2021-06-15 17:42:51 +01:00
|
|
|
}
|
2020-08-21 00:22:51 +01:00
|
|
|
}
|
2020-08-18 23:32:12 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllPrOficialEvents(startdate: string, enddate: string): Observable<EventList[]> {
|
2021-07-29 15:40:24 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/pr';
|
2021-10-19 09:41:06 +01:00
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
2021-07-29 15:40:24 +01:00
|
|
|
|
2020-11-20 10:55:51 +01:00
|
|
|
let params = new HttpParams();
|
2020-08-21 16:18:37 +01:00
|
|
|
|
2020-11-20 10:55:51 +01:00
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersPrOficial,
|
|
|
|
|
params: params
|
2020-11-20 10:55:51 +01:00
|
|
|
};
|
2021-08-31 09:00:33 +01:00
|
|
|
return this.http.get<EventList[]>(`${geturl}`, options);
|
2020-08-21 18:26:03 +01:00
|
|
|
}
|
2021-06-15 17:42:51 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllPrPessoalEvents(startdate: string, enddate: string): Observable<EventList[]> {
|
2021-07-29 15:40:24 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/pr';
|
2021-10-19 09:41:06 +01:00
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
2021-07-29 15:40:24 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersPrPessoal,
|
|
|
|
|
params: params
|
2021-06-15 17:42:51 +01:00
|
|
|
};
|
2021-08-31 09:00:33 +01:00
|
|
|
return this.http.get<EventList[]>(`${geturl}`, options);
|
2021-06-15 17:42:51 +01:00
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
async getAllPrEvents(startdate: string, enddate: string): Promise<EventList[]> {
|
2021-06-16 16:55:47 +01:00
|
|
|
let prO = await this.getAllPrOficialEvents(startdate, enddate).toPromise();
|
|
|
|
|
let prP = await this.getAllPrPessoalEvents(startdate, enddate).toPromise();
|
|
|
|
|
const resFinal = prO.concat(prP);
|
2021-10-19 09:41:06 +01:00
|
|
|
return new Promise(resolve => {
|
2021-06-16 16:55:47 +01:00
|
|
|
return resolve(resFinal)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllMdOficialEvents(startdate: string, enddate: string): Observable<EventList[]> {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/md';
|
2021-07-29 15:40:24 +01:00
|
|
|
|
2020-11-20 10:55:51 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersMdOficial,
|
|
|
|
|
params: params
|
2021-06-15 17:42:51 +01:00
|
|
|
};
|
2021-08-31 09:00:33 +01:00
|
|
|
return this.http.get<EventList[]>(`${geturl}`, options);
|
2021-06-15 17:42:51 +01:00
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllMdPessoalEvents(startdate: string, enddate: string): any {
|
2021-07-29 15:40:24 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/md';
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersMdPessoal,
|
|
|
|
|
params: params
|
2021-06-15 17:42:51 +01:00
|
|
|
};
|
2021-07-15 12:29:37 +01:00
|
|
|
return this.http.get<any>(`${geturl}`, options)
|
2021-06-16 16:55:47 +01:00
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
async getAllMdEvents(startdate: string, enddate: string) {
|
2021-06-16 16:55:47 +01:00
|
|
|
let prO = await this.getAllMdOficialEvents(startdate, enddate).toPromise();
|
|
|
|
|
let prP = await this.getAllMdPessoalEvents(startdate, enddate).toPromise();
|
|
|
|
|
const resFinal = prO.concat(prP);
|
2021-10-19 09:41:06 +01:00
|
|
|
return new Promise(resolve => {
|
2021-06-16 16:55:47 +01:00
|
|
|
return resolve(resFinal)
|
|
|
|
|
});
|
2021-06-15 17:42:51 +01:00
|
|
|
}
|
|
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
async getAllOwnEvents(startdate: string, enddate: string) {
|
|
|
|
|
let ownO = await this.getAllOwnOficialEvents(startdate, enddate).toPromise();
|
|
|
|
|
let ownP = await this.getAllOwnPessoalEvents(startdate, enddate).toPromise();
|
|
|
|
|
const resFinal = ownO.concat(ownP);
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
|
return resolve(resFinal)
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getAllOwnOficialEvents(startdate: string, enddate: string): Observable<EventList[]> {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvents';
|
|
|
|
|
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("StartDate", startdate);
|
|
|
|
|
params = params.set("EndDate", enddate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headerOwnOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
return this.http.get<EventList[]>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
getAllOwnPessoalEvents(startdate: string, enddate: string): any {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvents';
|
|
|
|
|
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("StartDate", startdate);
|
|
|
|
|
params = params.set("EndDate", enddate);
|
|
|
|
|
|
|
|
|
|
let options = {
|
2022-04-02 14:13:37 +01:00
|
|
|
headers: this.headerOwnPessoal,
|
2022-04-02 09:40:09 +01:00
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
return this.http.get<any>(`${geturl}`, options)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
return new Promise(resolve => {
|
|
|
|
|
return resolve(resFinal)
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
genericGetAllSharedOficialEvents(startdate: string, enddate: string): Observable<Event[]> {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvents';
|
|
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
|
|
|
|
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("StartDate", startdate);
|
|
|
|
|
params = params.set("EndDate", enddate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headerSharedOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return this.http.get<Event[]>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
genericGetAllSharedPessoalEvents(startdate: string, enddate: string): Observable<Event[]> {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvents';
|
|
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
|
|
|
|
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("StartDate", startdate);
|
|
|
|
|
params = params.set("EndDate", enddate);
|
|
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headerSharedPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
return this.http.get<Event[]>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
async getAllSharedEvents(startdate: string, enddate: string) {
|
2021-07-13 09:57:38 +01:00
|
|
|
let prO = await this.getAllSharedOficialEvents(startdate, enddate).toPromise();
|
|
|
|
|
let prP = await this.getAllSharedPessoalEvents(startdate, enddate).toPromise();
|
|
|
|
|
const resFinal = prO.concat(prP);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
return new Promise(resolve => {
|
2021-07-13 09:57:38 +01:00
|
|
|
return resolve(resFinal)
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllSharedOficialEvents(startdate: string, enddate: string): Observable<Event[]> {
|
2021-07-29 15:40:24 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/pr';
|
2021-10-19 09:41:06 +01:00
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
2021-07-29 15:40:24 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersSharedOficial,
|
|
|
|
|
params: params
|
2021-06-15 17:42:51 +01:00
|
|
|
};
|
2021-07-08 21:31:14 +01:00
|
|
|
console.log(options);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
return this.http.get<Event[]>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getAllSharedPessoalEvents(startdate: string, enddate: string): Observable<Event[]> {
|
2021-07-29 15:40:24 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/pr';
|
2021-10-19 09:41:06 +01:00
|
|
|
geturl = geturl.replace('/V4/', '/V5/')
|
2021-07-29 15:40:24 +01:00
|
|
|
|
2021-06-15 17:42:51 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("Start", startdate);
|
|
|
|
|
params = params.set("End", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headersSharedPessoal,
|
|
|
|
|
params: params
|
2020-11-20 10:55:51 +01:00
|
|
|
};
|
|
|
|
|
return this.http.get<Event[]>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-13 09:57:38 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getRecurrenceTypes(): any {
|
2021-07-09 11:51:22 +01:00
|
|
|
const geturl = environment.apiURL + 'Calendar/RecurrenceTypes';
|
2021-09-03 12:52:49 +01:00
|
|
|
let options = {
|
|
|
|
|
headers: this.headers,
|
2021-07-08 13:20:54 +01:00
|
|
|
};
|
|
|
|
|
return this.http.get<any>(`${geturl}`, options);
|
|
|
|
|
}
|
|
|
|
|
|
2020-11-20 10:55:51 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getEvents(calendarname: string, startdate: string, enddate: string): Observable<Event[]> {
|
2020-08-21 18:26:03 +01:00
|
|
|
const geturl = environment.apiURL + 'calendar/GetEvents';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("CalendarName", calendarname);
|
|
|
|
|
params = params.set("StartDate", startdate);
|
|
|
|
|
params = params.set("EndDate", enddate);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
2020-08-21 18:26:03 +01:00
|
|
|
};
|
2020-08-21 16:18:37 +01:00
|
|
|
return this.http.get<Event[]>(`${geturl}`, options);
|
2020-08-19 14:21:42 +01:00
|
|
|
}
|
2020-08-21 00:22:51 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
getEvent(eventid: string): Observable<Event> {
|
2020-11-24 13:46:13 +01:00
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvent';
|
2020-08-21 16:18:37 +01:00
|
|
|
let params = new HttpParams();
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2020-08-21 16:18:37 +01:00
|
|
|
params = params.set("EventId", eventid);
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
2020-08-21 16:18:37 +01:00
|
|
|
};
|
|
|
|
|
|
2020-08-24 23:41:15 +01:00
|
|
|
return this.http.get<Event>(`${geturl}`, options);
|
2020-08-21 00:22:51 +01:00
|
|
|
}
|
|
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
|
|
|
|
|
genericGetEvent(eventid: string, calendarId: string) {
|
|
|
|
|
let geturl = environment.apiURL + 'calendar/GetEvent';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("EventId", eventid);
|
|
|
|
|
|
|
|
|
|
const headers = [
|
|
|
|
|
this.headerSharedOficial,
|
|
|
|
|
this.headerSharedPessoal,
|
|
|
|
|
this.headerOwnPessoal,
|
|
|
|
|
this.headerOwnOficial
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const header = headers.find((header)=> {
|
|
|
|
|
return header?.get('CalendarId')?.includes(calendarId)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if(header) {
|
|
|
|
|
let options = {
|
|
|
|
|
headers: header,
|
|
|
|
|
params: params
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return this.http.get<Event>(`${geturl}`, options);
|
|
|
|
|
} else {
|
2022-04-06 14:51:35 +01:00
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw('error')
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
putEvent(event: Event, conflictResolutionMode: number, sendInvitationsOrCancellationsMode: number, sharedagenda: string): Observable<Event> {
|
2020-11-20 12:59:47 +01:00
|
|
|
const puturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'PutEvent');
|
2020-08-21 00:22:51 +01:00
|
|
|
|
2020-08-21 18:26:03 +01:00
|
|
|
let params = new HttpParams();
|
2020-08-21 16:18:37 +01:00
|
|
|
|
2020-08-21 18:26:03 +01:00
|
|
|
params = params.set("conflictResolutionMode", conflictResolutionMode.toString());
|
|
|
|
|
params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString());
|
2021-09-03 12:52:49 +01:00
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
2020-08-21 16:18:37 +01:00
|
|
|
};
|
2020-08-18 23:32:12 +01:00
|
|
|
|
2020-08-21 16:18:37 +01:00
|
|
|
return this.http.put<Event>(`${puturl}`, event, options)
|
2020-08-20 14:28:50 +01:00
|
|
|
}
|
|
|
|
|
|
2022-04-02 14:51:57 +01:00
|
|
|
editEvent(event: Event, conflictResolutionMode: number, sendInvitationsOrCancellationsMode: number, CalendarId? ): Observable<Event> {
|
2021-10-18 07:44:24 +01:00
|
|
|
let arrayReq = [];
|
2021-10-19 09:41:06 +01:00
|
|
|
arrayReq.push(event);
|
2020-11-24 13:46:13 +01:00
|
|
|
const puturl = environment.apiURL + 'calendar/PutEvent';
|
2021-10-19 09:41:06 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("conflictResolutionMode", conflictResolutionMode.toString());
|
|
|
|
|
params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString());
|
|
|
|
|
params.set('CalendarId', event.CalendarId)
|
|
|
|
|
params.set('CalendarName', event.CalendarName)
|
|
|
|
|
this.headers['CalendarId'] = event.CalendarId
|
|
|
|
|
this.headers['CalendarName'] = event.CalendarName
|
|
|
|
|
|
|
|
|
|
if (event.CalendarName == 'Oficial') {
|
|
|
|
|
if (this.loggeduser.Profile == 'MDGPR') {
|
|
|
|
|
this.headers = this.headersMdOficial;
|
2021-09-03 12:52:49 +01:00
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (this.loggeduser.Profile == 'PR') {
|
|
|
|
|
this.headers = this.headersPrOficial;
|
2022-04-02 09:40:09 +01:00
|
|
|
} else {
|
2022-04-02 14:13:37 +01:00
|
|
|
|
2022-04-02 14:51:57 +01:00
|
|
|
const headers = [
|
|
|
|
|
this.headerSharedOficial,
|
|
|
|
|
this.headerSharedPessoal,
|
|
|
|
|
this.headerOwnPessoal,
|
|
|
|
|
this.headerOwnOficial
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const header = headers.find((header)=> {
|
|
|
|
|
return header?.get('CalendarId')?.includes(CalendarId)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
this.headers = header
|
2021-09-03 12:52:49 +01:00
|
|
|
}
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else {
|
|
|
|
|
if (this.loggeduser.Profile == 'MDGPR') {
|
|
|
|
|
this.headers = this.headersMdPessoal;
|
|
|
|
|
}
|
|
|
|
|
else if (this.loggeduser.Profile == 'PR') {
|
|
|
|
|
this.headers = this.headersPrPessoal;
|
|
|
|
|
}
|
2022-04-02 09:40:09 +01:00
|
|
|
else {
|
2022-04-02 14:51:57 +01:00
|
|
|
const headers = [
|
|
|
|
|
this.headerSharedOficial,
|
|
|
|
|
this.headerSharedPessoal,
|
|
|
|
|
this.headerOwnPessoal,
|
|
|
|
|
this.headerOwnOficial
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const header = headers.find((header)=> {
|
|
|
|
|
return header?.get('CalendarId')?.includes(CalendarId)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
this.headers = header
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
headers: this.headers,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return this.http.put<Event>(`${puturl}`, event, options).pipe(
|
|
|
|
|
catchError(err => {
|
2021-11-16 13:12:25 +01:00
|
|
|
console.log('Event edit saved offline')
|
2021-10-20 11:06:00 +01:00
|
|
|
this.offlinemanager.storeRequestData('eventEdit', arrayReq);
|
2021-10-19 09:41:06 +01:00
|
|
|
throw new Error(err);
|
|
|
|
|
})
|
|
|
|
|
)
|
2020-11-24 13:46:13 +01:00
|
|
|
}
|
2022-04-02 14:13:37 +01:00
|
|
|
|
2020-11-24 13:46:13 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
changeAgenda(body: any) {
|
2021-06-29 10:50:05 +01:00
|
|
|
const puturl = environment.apiURL + 'Calendar/MoveEvent';
|
2021-09-03 12:52:49 +01:00
|
|
|
let options = {
|
2021-06-29 10:50:05 +01:00
|
|
|
headers: this.headers,
|
|
|
|
|
};
|
|
|
|
|
return this.http.post<any>(`${puturl}`, body, options);
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
postEventMd(event: Event, calendarName: string) {
|
2020-11-24 13:46:13 +01:00
|
|
|
const puturl = environment.apiURL + 'calendar/md';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("CalendarName", calendarName);
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
let options: any;
|
2021-06-16 13:29:57 +01:00
|
|
|
switch (calendarName) {
|
|
|
|
|
case 'Oficial':
|
|
|
|
|
console.log(calendarName);
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdOficial,
|
|
|
|
|
params: params
|
2021-06-16 13:29:57 +01:00
|
|
|
};
|
|
|
|
|
break;
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
case 'Pessoal':
|
|
|
|
|
console.log(calendarName);
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdPessoal,
|
|
|
|
|
params: params
|
2021-06-16 13:29:57 +01:00
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
console.log(options);
|
2021-04-19 15:21:35 +01:00
|
|
|
return this.http.post<string>(`${puturl}`, event, options)
|
2020-11-24 13:46:13 +01:00
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
postEventPr(event: Event, calendarName: string) {
|
2020-11-24 13:46:13 +01:00
|
|
|
const puturl = environment.apiURL + 'calendar/pr';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("CalendarName", calendarName);
|
2020-08-21 16:18:37 +01:00
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
let options: any;
|
2021-06-16 13:29:57 +01:00
|
|
|
switch (calendarName) {
|
|
|
|
|
case 'Oficial':
|
|
|
|
|
console.log(calendarName);
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrOficial,
|
|
|
|
|
params: params
|
2021-06-16 13:29:57 +01:00
|
|
|
};
|
|
|
|
|
break;
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-06-16 13:29:57 +01:00
|
|
|
case 'Pessoal':
|
|
|
|
|
console.log(calendarName);
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrPessoal,
|
|
|
|
|
params: params
|
2021-06-16 13:29:57 +01:00
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
}
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-04-19 15:21:35 +01:00
|
|
|
return this.http.post<string>(`${puturl}`, event, options)
|
2020-08-18 23:32:12 +01:00
|
|
|
}
|
2020-08-21 18:26:03 +01:00
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
postEventGeneric(event: Event, calendarName: string) {
|
|
|
|
|
const puturl = environment.apiURL + 'Calendar/PostEvent';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("CalendarName", calendarName);
|
|
|
|
|
|
|
|
|
|
let options: any;
|
|
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
|
|
|
|
|
if(this.hasOwnCalendar) {
|
|
|
|
|
switch (calendarName) {
|
|
|
|
|
case 'Oficial':
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headerOwnOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'Pessoal':
|
|
|
|
|
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headerOwnPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
switch (calendarName) {
|
|
|
|
|
case 'Oficial':
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headerSharedOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case 'Pessoal':
|
|
|
|
|
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headerSharedPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
break;
|
|
|
|
|
}
|
2022-04-02 09:40:09 +01:00
|
|
|
}
|
|
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
|
|
|
|
|
|
2022-04-02 09:40:09 +01:00
|
|
|
return this.http.post<string>(`${puturl}`, event, options)
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
deleteEvent(eventid: string, eventDeleteType: number, calendarName: string) {
|
2021-10-20 11:06:00 +01:00
|
|
|
let arrayReq = [];
|
|
|
|
|
let Object = {
|
|
|
|
|
eventid: eventid,
|
|
|
|
|
eventDeleteType: eventDeleteType,
|
|
|
|
|
calendarName: calendarName
|
|
|
|
|
}
|
|
|
|
|
arrayReq.push(Object)
|
2020-11-25 11:25:08 +01:00
|
|
|
const puturl = environment.apiURL + 'calendar/DeleteEvent';
|
2020-08-21 18:26:03 +01:00
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("EventId", eventid);
|
2021-07-12 11:20:08 +01:00
|
|
|
// 0 for occurence and 1 for serie (delete all events)
|
|
|
|
|
params = params.set("eventDeleteType", eventDeleteType.toString());
|
2020-08-21 18:26:03 +01:00
|
|
|
|
2021-09-15 09:33:13 +01:00
|
|
|
let options;
|
|
|
|
|
|
|
|
|
|
switch (this.loggeduser.Profile) {
|
|
|
|
|
case 'MDGPR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (calendarName == 'Pessoal') {
|
2021-09-15 09:33:13 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (calendarName == 'Oficial') {
|
2021-09-15 09:33:13 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'PR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (calendarName == 'Pessoal') {
|
2021-09-15 09:33:13 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (calendarName == 'Oficial') {
|
2021-09-15 09:33:13 +01:00
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
2021-09-03 12:52:49 +01:00
|
|
|
|
2021-10-20 11:06:00 +01:00
|
|
|
return this.http.delete(`${puturl}`, options).pipe(
|
|
|
|
|
catchError(err => {
|
2021-11-16 13:12:25 +01:00
|
|
|
console.log('Event edit saved offline')
|
2021-10-20 11:06:00 +01:00
|
|
|
this.offlinemanager.storeRequestData('eventDelete', arrayReq);
|
|
|
|
|
throw new Error(err);
|
|
|
|
|
})
|
|
|
|
|
)
|
2020-08-21 18:26:03 +01:00
|
|
|
}
|
2022-04-02 14:13:37 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
genericDeleteEvent(eventid: string, eventDeleteType: number, calendarName: string, calendarId: string) {
|
|
|
|
|
let arrayReq = [];
|
|
|
|
|
let Object = {
|
|
|
|
|
eventid: eventid,
|
|
|
|
|
eventDeleteType: eventDeleteType,
|
|
|
|
|
calendarName: calendarName
|
|
|
|
|
}
|
|
|
|
|
arrayReq.push(Object)
|
|
|
|
|
const puturl = environment.apiURL + 'calendar/DeleteEvent';
|
|
|
|
|
let params = new HttpParams();
|
|
|
|
|
|
|
|
|
|
params = params.set("EventId", eventid);
|
|
|
|
|
// 0 for occurence and 1 for serie (delete all events)
|
|
|
|
|
params = params.set("eventDeleteType", eventDeleteType.toString());
|
|
|
|
|
|
|
|
|
|
let options;
|
|
|
|
|
|
|
|
|
|
if(this.loggeduser.Profile == 'MDGPR') {
|
|
|
|
|
if (calendarName == 'Pessoal') {
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
else if (calendarName == 'Oficial') {
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headersMdOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if (this.loggeduser.Profile == 'PR') {
|
|
|
|
|
if (calendarName == 'Pessoal') {
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrPessoal,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
else if (calendarName == 'Oficial') {
|
|
|
|
|
options = {
|
|
|
|
|
headers: this.headersPrOficial,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
const headers = [
|
|
|
|
|
this.headerSharedOficial,
|
|
|
|
|
this.headerSharedPessoal,
|
|
|
|
|
this.headerOwnPessoal,
|
|
|
|
|
this.headerOwnOficial
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
const header = headers.find((header)=> {
|
|
|
|
|
return header?.get('CalendarId')?.includes(calendarId)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if (header) {
|
2022-04-06 14:51:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
options = {
|
|
|
|
|
headers: header,
|
|
|
|
|
params: params
|
|
|
|
|
};
|
|
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
return this.http.delete(`${puturl}`, options).pipe(
|
|
|
|
|
catchError(err => {
|
|
|
|
|
console.log('Event edit saved offline')
|
|
|
|
|
this.offlinemanager.storeRequestData('eventDelete', arrayReq);
|
|
|
|
|
throw new Error(err);
|
|
|
|
|
})
|
|
|
|
|
)
|
2022-04-06 14:51:35 +01:00
|
|
|
} else {
|
|
|
|
|
|
2022-04-02 14:13:37 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw('header not found')
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-10-19 09:41:06 +01:00
|
|
|
postExpedientEvent(docId: any, body: any, sharedagenda: string, serialNumber: any, applicationID: any) {
|
|
|
|
|
const geturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'CreateEventExpediente') + '/event';
|
2020-11-18 21:55:58 +01:00
|
|
|
let params = new HttpParams();
|
2021-06-21 11:00:06 +01:00
|
|
|
let options;
|
2020-11-18 21:55:58 +01:00
|
|
|
|
|
|
|
|
params = params.set("DocId", docId);
|
2020-11-25 11:25:08 +01:00
|
|
|
params = params.set("SerialNumber", serialNumber);
|
2021-04-22 09:35:13 +01:00
|
|
|
params = params.set("applicationID", applicationID);
|
2020-11-18 21:55:58 +01:00
|
|
|
|
2021-06-21 11:00:06 +01:00
|
|
|
switch (this.loggeduser.Profile) {
|
|
|
|
|
case 'MDGPR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (body.CalendarName == 'Pessoal') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-21 11:00:06 +01:00
|
|
|
headers: this.headersMdPessoal,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-21 11:00:06 +01:00
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (body.CalendarName == 'Oficial') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-21 11:00:06 +01:00
|
|
|
headers: this.headersMdOficial,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-21 11:00:06 +01:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'PR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (body.CalendarName == 'Pessoal') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-21 11:00:06 +01:00
|
|
|
headers: this.headersPrPessoal,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-21 11:00:06 +01:00
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (body.CalendarName == 'Oficial') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-21 11:00:06 +01:00
|
|
|
headers: this.headersPrOficial,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-21 11:00:06 +01:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
2021-05-25 13:38:46 +01:00
|
|
|
return this.http.post<any>(`${geturl}`, body, options)
|
2021-04-30 12:07:51 +01:00
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
createTaskEvent(folderId: any, body: any, sharedagenda: string, serialNumber: any, applicationID: any) {
|
|
|
|
|
const geturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'CreateEventExpediente') + '/dispatch';
|
2021-04-30 12:07:51 +01:00
|
|
|
let params = new HttpParams();
|
2021-06-22 15:39:28 +01:00
|
|
|
let options;
|
2021-04-30 12:07:51 +01:00
|
|
|
|
|
|
|
|
params = params.set("FolderId", folderId);
|
|
|
|
|
params = params.set("SerialNumber", serialNumber);
|
|
|
|
|
params = params.set("applicationID", applicationID);
|
|
|
|
|
|
2021-06-22 15:39:28 +01:00
|
|
|
switch (this.loggeduser.Profile) {
|
|
|
|
|
case 'MDGPR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (body.CalendarName == 'Pessoal') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-22 15:39:28 +01:00
|
|
|
headers: this.headersMdPessoal,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-22 15:39:28 +01:00
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (body.CalendarName == 'Oficial') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-22 15:39:28 +01:00
|
|
|
headers: this.headersMdOficial,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-22 15:39:28 +01:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'PR':
|
2021-10-19 09:41:06 +01:00
|
|
|
if (body.CalendarName == 'Pessoal') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-22 15:39:28 +01:00
|
|
|
headers: this.headersPrPessoal,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-22 15:39:28 +01:00
|
|
|
};
|
|
|
|
|
}
|
2021-10-19 09:41:06 +01:00
|
|
|
else if (body.CalendarName == 'Oficial') {
|
2021-09-03 12:52:49 +01:00
|
|
|
options = {
|
2021-06-22 15:39:28 +01:00
|
|
|
headers: this.headersPrOficial,
|
2021-09-03 12:52:49 +01:00
|
|
|
params: params
|
2021-06-22 15:39:28 +01:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
break;
|
2021-10-19 09:41:06 +01:00
|
|
|
}
|
2021-05-25 13:38:46 +01:00
|
|
|
return this.http.post<any>(`${geturl}`, body, options)
|
2020-11-18 21:55:58 +01:00
|
|
|
}
|
2021-05-14 14:37:38 +01:00
|
|
|
|
|
|
|
|
postEventToApproveEdit(body: EventToApproveEdit) {
|
|
|
|
|
const geturl = environment.apiURL + 'Tasks/EditEventTask';
|
|
|
|
|
|
2021-09-03 12:52:49 +01:00
|
|
|
let options = {
|
2021-05-14 14:37:38 +01:00
|
|
|
headers: this.headers,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return this.http.post<any>(`${geturl}`, body, options)
|
|
|
|
|
}
|
2020-08-18 23:32:12 +01:00
|
|
|
}
|