Files
doneit-web/src/app/services/events.service.ts
T

127 lines
3.9 KiB
TypeScript
Raw Normal View History

import { Injectable } from '@angular/core';
import { Event } from '../models/event.model';
import axios from 'axios'
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class EventsService {
/* Set events */
private events: Event[] = [
{
EventId: '1',
Subject: 'Reunião do Conselho de Ministros',
Body: null,
Location: 'Luanda, Palácio presidencial',
CalendarId: '',
CalendarName: 'pessoal',
StartDate: '10:30',
EndDate: '11:00',
EventType: '',
RequiredAttendees: null,
OptionalAttendees: null,
HasAttachments: false,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: null,
Attachments: null,
},
{
EventId: '2',
Subject: 'Conference call Particular',
Body: null,
Location: 'Luanda, Palácio presidencial',
CalendarId: '',
CalendarName: 'pessoal',
StartDate: '10:30',
EndDate: '11:00',
EventType: '',
RequiredAttendees: null,
OptionalAttendees: null,
HasAttachments: false,
IsMeeting: false,
IsRecurring: false,
AppointmentState: 0,
TimeZone: '',
Organizer: '',
Categories: null,
Attachments: null,
}
];
url = 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/api/calendar/GetEvents?StartDate=2020-08-14 00:00:00&EndDate=2020-08-19 23:59:00&CalendarName=Pessoal';
options = { headers: {'Authorization': 'Basic cGF1bG8ucGludG86dGFidGVzdGVAMDA2'}};
constructor(private http: HttpClient) { }
allEvents(): Observable<Event[]>{
return this.http.get<Event[]>(`${this.url}`, this.options)
}
getEvent(ev: string): Observable<Event>{
const url = 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/api/calendar/GetEvent?EventId=';
return this.http.get<Event>(`${url + ev}`, this.options)
}
AddEvent(postEvent: any){
const url = 'http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/api/calendar/PostEvent';
const mydata = JSON.stringify({
"AppointmentState":1,
"Body":{"BodyType":1,"Text":"Noooooo"},
"CalendarId":"AAMkAGMwNTJiZDY2LTZjN2MtNDgzYS1hNzAzLTZhZWRhNTk3ZWNiMAAuAAAAAABgX8u97PeNQrYTHXctnZkcAQB4Hy3hTowgSI7Yp8YAVgKKAAACCd9zAAA=",
"EndDate":"8/16/2020 6:00:00 PM",
"EventType":"Single","HasAttachments":false,
"IsMeeting":true,"IsRecurring":false,
"Location":postEvent.Location,
"OptionalAttendees":null,
"Organizer":{"EmailAddress":"paulo.pinto@gabinetedigital.local","Name":"Paulo Pinto"},
"RequiredAttendees":[{"EmailAddress":"Administrator@gabinetedigital.local","Name":"Administrator"},{"EmailAddress":"tiago.kayaya@gabinetedigital.local","Name":"Tiago Kayaya"}],
"StartDate":"8/14/2020 5:30:00 PM",
"Subject":postEvent.Subject,
"TimeZone":"(UTC+01:00) Centro-Oeste da África"});
/* const options = {
method: 'post',
url: 'url',
headears: {
'Authorization': 'Basic Z2FiaW5ldGVkaWdpdGFsLmxvY2FsXHBhdWxvLnBpbnRvOnRhYnRlc3RlQDAwNg==',
'Content-Type': 'application/json'
},
data: data
} */
console.log(postEvent.Subject);
axios({
method: 'post',
url: url,
data: mydata,
headers: {'Authorization': 'Basic Z2FiaW5ldGVkaWdpdGFsLmxvY2FsXHBhdWxvLnBpbnRvOnRhYnRlc3RlQDAwNg==',
'Content-Type': 'application/json' }
})
.then(function (response) {
//handle success
console.log(response);
})
.catch(function (response) {
//handle error
console.log(response);
});
}
getStaticEvent(eventId: string){
return {
// The find() function looks for an event in a array and return true if found
...this.events.find(event => {
//Compare if the event found is the same as the event passed in as parameter
return event.EventId === eventId;
})
};
}
}