diff --git a/src/app/pages/events/event-detail/event-detail.page.html b/src/app/pages/events/event-detail/event-detail.page.html index 7bbe151c0..d534dc437 100644 --- a/src/app/pages/events/event-detail/event-detail.page.html +++ b/src/app/pages/events/event-detail/event-detail.page.html @@ -31,7 +31,7 @@ - Carácter + Calendário @@ -55,7 +55,7 @@
- + Apagar Gravar
diff --git a/src/app/pages/events/event-detail/event-detail.page.ts b/src/app/pages/events/event-detail/event-detail.page.ts index 164f6623b..9b4890c34 100644 --- a/src/app/pages/events/event-detail/event-detail.page.ts +++ b/src/app/pages/events/event-detail/event-detail.page.ts @@ -1,9 +1,11 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { EventsService } from 'src/app/services/events.service'; - +import { Router } from '@angular/router'; import { Event } from '../../../models/event.model'; import { Observable } from 'rxjs'; +import { EventBody } from 'src/app/models/eventbody.model'; +import { AlertController } from '@ionic/angular'; @Component({ selector: 'app-event-detail', @@ -15,8 +17,9 @@ export class EventDetailPage implements OnInit { loadedEvent: Event; eventItem: Observable; - constructor(private activatedRoute: ActivatedRoute, private eventsService: EventsService) { + constructor(public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService) { this.loadedEvent = new Event(); + this.loadedEvent.Body = new EventBody(); } ngOnInit() { @@ -38,11 +41,59 @@ export class EventDetailPage implements OnInit { }); } + async deleteConfirm() + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Apagar evento!', + message: 'Deseja apagar o evento da agenda ' + this.loadedEvent.CalendarName + '?', + buttons: [ + { + text: 'Não', + role: 'cancel', + cssClass: 'secondary', + handler: (blah) => { } + }, { + text: 'Sim', + handler: () => { + this.Delete(); + } + } + ] + }); + + await alert.present(); + } + + Delete() + { + this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async response => + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento removido', + buttons: ['OK'] + }); + + await alert.present(); + + this.router.navigate(['/home/events']); + }); + } + Save() { - this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(response => + this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async response => { - this.loadedEvent = response; + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento actualizado', + buttons: ['OK'] + }); + + await alert.present(); + + this.router.navigate(['/home/events']); }); } diff --git a/src/app/pages/events/events.page.html b/src/app/pages/events/events.page.html index c95ad68cd..d5fddb0db 100644 --- a/src/app/pages/events/events.page.html +++ b/src/app/pages/events/events.page.html @@ -24,23 +24,32 @@ + + + + + - - + + Combinada - + Oficial - + Pessoal - +
- +
- - + - - - - + + - - 8:00 am - - +
@@ -100,45 +106,47 @@

{{event.Location}}

- +
-
--> +
- - - + + + + +
+
+
+
-
-
- -
-
-

{{event.Location}}

-
-
- -
+
+

{{event.Subject}}

+

{{event.StartDate}} - {{event.EndDate}}

- - - --> - +
+
+ +
+
+

{{event.Location}}

+
+
+ +
+
+
+ + + +
diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index b4c079848..b001b0ef4 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -3,7 +3,7 @@ import { Component, OnInit, LOCALE_ID } from '@angular/core'; import { Event } from '../../models/event.model'; import { EventsService } from 'src/app/services/events.service'; import { Router } from '@angular/router'; -import { ActivatedRoute } from '@angular/router'; +import { ActivatedRoute, NavigationEnd } from '@angular/router'; import { formatDate } from '@angular/common'; @@ -29,21 +29,65 @@ export class EventsPage implements OnInit { /* Set segment variable */ segment:string; - eventsList: Event[]; + eventsList: Event[]; + officialeventsList: Event[]; + personaleventsList: Event[]; + + showLoader: boolean = true; constructor(private eventService: EventsService, private router: Router, public activatedRoute: ActivatedRoute) { } ngOnInit() { //Inicializar segment - this.segment = "combinada"; + this.segment = "Combinada"; this.showGreeting(); - /* Call Get events method */ - this.eventService.getAllEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59') - .subscribe(response => { - this.eventsList = response; - } - ); + this.router.events.forEach((event) => { + if(event instanceof NavigationEnd && event.url == this.router.url) { + this.RefreshEvents(); + } + }); + } + + doRefresh(event) { + this.RefreshEvents(); + + setTimeout(() => { + event.target.complete(); + }, 2000); + } + + onSegmentChange(){ + this.RefreshEvents(); + } + + RefreshEvents(){ + this.showLoader = true; + switch (this.segment) + { + case "Combinada": + this.eventService.getAllEvents(formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59') + .subscribe(response => { + this.eventsList = response; + } + ); + break; + case "Pessoal": + this.eventService.getEvents(this.segment, formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59') + .subscribe(response => { + this.personaleventsList = response; + } + ); + break; + case "Oficial": + this.eventService.getEvents(this.segment, formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 00:00:00', formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59') + .subscribe(response => { + this.officialeventsList = response; + } + ); + break; + } + this.showLoader = false; } showGreeting(){ diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index cd069fb02..1c2811c0f 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -35,7 +35,21 @@ export class EventsService { params: params }; - console.log(options); + return this.http.get(`${geturl}`, options); + } + + getEvents(calendarname:string, startdate:string, enddate:string): Observable{ + 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(`${geturl}`, options); } @@ -58,10 +72,10 @@ export class EventsService { { const puturl = environment.apiURL + 'calendar/PutEvent'; - let params: HttpParams; + let params = new HttpParams(); - params.append("conflictResolutionMode", conflictResolutionMode.toString()); - params.append("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString()); + params = params.set("conflictResolutionMode", conflictResolutionMode.toString()); + params = params.set("sendInvitationsOrCancellationsMode", sendInvitationsOrCancellationsMode.toString()); let options = { headers: this.headers, @@ -85,4 +99,20 @@ export class EventsService { return this.http.post(`${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) + } }