Files
doneit-web/src/app/services/events.service.ts
T
Tiago Kayaya 835b0169b6 Many changes
Edit event
2020-11-24 13:46:13 +01:00

209 lines
5.9 KiB
TypeScript

import { Injectable } from '@angular/core';
import { Event } from '../models/event.model';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';
import { AuthService } from '../services/auth.service';
import { User } from '../models/user.model';
@Injectable({
providedIn: 'root'
})
export class EventsService {
authheader = {};
loggeduser: User;
headers: HttpHeaders;
//lastloadedevent: Event;
constructor(private http: HttpClient, user: AuthService) {
this.loggeduser = user.ValidatedUser;
this.headers = new HttpHeaders();
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
}
getAllEvents(startdate:string, enddate:string): Observable<Event[]>{
const geturl = environment.apiURL + 'calendar/GetAllEvents';
let params = new HttpParams();
params = params.set("StartDate", startdate);
params = params.set("EndDate", enddate);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
getAllPrEvents(startdate:string, enddate:string): Observable<Event[]>{
const geturl = environment.apiURL + 'calendar/pr';
let params = new HttpParams();
params = params.set("Start", startdate);
params = params.set("End", enddate);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
getAllMdEvents(startdate:string, enddate:string): Observable<Event[]>{
const geturl = environment.apiURL + 'calendar/md';
let params = new HttpParams();
params = params.set("Start", startdate);
params = params.set("End", enddate);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
getEvents(calendarname:string, startdate:string, enddate:string): Observable<Event[]>{
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);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event[]>(`${geturl}`, options);
}
getEvent(eventid: string): Observable<Event>{
let geturl = environment.apiURL + 'calendar/GetEvent';
let params = new HttpParams();
console.log(eventid);
params = params.set("EventId", eventid);
let options = {
headers: this.headers,
params: params
};
return this.http.get<Event>(`${geturl}`, options);
}
putEvent(event: Event, conflictResolutionMode:number, sendInvitationsOrCancellationsMode:number, sharedagenda:string): Observable<Event>
{
const puturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'PutEvent');
let params = new HttpParams();
params = params.set("conflictResolutionMode", conflictResolutionMode.toString());
params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString());
let options = {
headers: this.headers,
params: params
};
return this.http.put<Event>(`${puturl}`, event, options)
}
editEvent(event: Event, conflictResolutionMode:number, sendInvitationsOrCancellationsMode:number): Observable<Event>
{
const puturl = environment.apiURL + 'calendar/PutEvent';
let params = new HttpParams();
params = params.set("conflictResolutionMode", conflictResolutionMode.toString());
params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString());
let options = {
headers: this.headers,
params: params
};
return this.http.put<Event>(`${puturl}`, event, options)
}
postEvent(event:Event, calendarName:string, sharedagenda:string)
{
const puturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'PostEvent');
let params = new HttpParams();
params = params.set("CalendarName", calendarName);
let options = {
headers: this.headers,
params: params
};
return this.http.post<Event>(`${puturl}`, event, options)
}
postEventMd(event:Event, calendarName:string)
{
const puturl = environment.apiURL + 'calendar/md';
let params = new HttpParams();
params = params.set("CalendarName", calendarName);
let options = {
headers: this.headers,
params: params
};
return this.http.post<Event>(`${puturl}`, event, options)
}
postEventPr(event:Event, calendarName:string)
{
const puturl = environment.apiURL + 'calendar/pr';
let params = new HttpParams();
params = params.set("CalendarName", calendarName);
let options = {
headers: this.headers,
params: params
};
return this.http.post<Event>(`${puturl}`, event, options)
}
deleteEvent(eventid:string, deletemode:number)
{
const puturl = environment.apiURL + 'calendar/PostEvent';
let params = new HttpParams();
params = params.set("EventId", eventid);
params = params.set("deleteMode", deletemode.toString());
let options = {
headers: this.headers,
params: params
};
return this.http.delete(`${puturl}`, options)
}
postExpedientEvent(docId:any, body:any, sharedagenda:string){
const geturl = environment.apiURL + 'calendar/' + ((sharedagenda != '') ? sharedagenda : 'CreateEventExpediente');
let params = new HttpParams();
params = params.set("DocId", docId);
let options = {
headers: this.headers,
params: params
};
return this.http.post<any>(`${geturl}`, body, options).toPromise().then(res =>{
console.log(res);
});
}
}