import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; import 'rxjs/add/operator/toPromise'; @Injectable() export class ApiService { public url = 'http://localhost:57217/'; constructor(private http: Http) { } dateToUTCDate(date) { return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()).getTime(); } private handleError(error: any) { console.log('Произошла ошибка при запросе в файле - api.service.ts', error); } executeRequest(path) { return this.http.get(this.url + path) .toPromise() .then(res => res.json()) .catch(this.handleError); } executeCountRequest(path, count) { return this.http.get(this.url + path + count) .toPromise() .then(res => res.json()) .catch(this.handleError); } // APi for Housing page getClaimStatistics() { return this.http.get(this.url + 'api/housing/claimsStatesCount') .toPromise(); } getEmergencies() { return this.http.get(this.url + 'api/housing/emergencies') .toPromise(); } getCallsAndClaims() { return this.executeRequest('api/housing/callsAndClaims') }; getEmergencyClaimDetail() { return this.executeRequest('api/housing/emergencyClaimDetail') }; getTop3ProblemBuildings() { return this.executeRequest('api/housing/top3ProblemBuildings') }; getTop3ProblemElevators() { return this.executeRequest('api/housing/top3ProblemElevators') }; getTop5ProblemHousing() { return this.executeRequest('api/housing/top5ProblemHousing') }; getTop5ProblemClaims() { return this.executeRequest('api/housing/top5ProblemClaims') }; getAvgQueueTime() { return this.executeRequest('api/housing/avgQueueTime') }; getDistrictsWithoutNow() { let now = new Date(); let date = this.dateToUTCDate(now); return this.http.get(this.url + 'api/housing/districtsWithoutServices/' + date) .toPromise() .then(res => res.json()) .catch(this.handleError); } getDistrictsWithoutYesterday() { let now = new Date(); now.setDate(now.getDate() - 1); let date = this.dateToUTCDate(now); return this.http.get(this.url + 'api/housing/districtsWithoutServices/' + date) .toPromise() .then(res => res.json()) .catch(this.handleError); } // APi for MayorService page getMayorCallAndClaims() { return this.executeRequest('api/mayorsOffice/callsAndClaims') }; getMayorDistrictClaims(count) { return this.executeCountRequest('api/mayorsOffice/districtClaims?claimsCount=', count) }; getMayorDepartamentClaims(count) { return this.executeCountRequest('api/mayorsOffice/departmentClaims?claimsCount=', count) }; getMayorDistrictRating() { return this.executeRequest('api/mayorsOffice/districtRatings') }; getMayorGrowQuestions(count) { return this.executeCountRequest('api/mayorsOffice/growQuestions?questionsCount=', count) }; getMayorFallQuestions(count) { return this.executeCountRequest('api/mayorsOffice/fallQuestions?questionsCount=', count) }; getMayorTasks(count) { return this.executeCountRequest('api/mayorsOffice/mayourTasks?tasksCount=', count) }; getMayorClaimsStatistics() { return this.executeRequest('api/mayorsOffice/claimStatistics') }; // APi for Digging page getDiggingMapPoints() { return this.executeRequest('api/digging/mapPoints') }; getDiggingContinuances() { return this.executeRequest('api/digging/problemContinuances') }; getDiggingDistrict() { return this.executeRequest('api/digging/problemObjectDistrictіs') }; getDiggingPerformers() { return this.executeRequest('api/digging/problemObjectPerformers') }; getDiggingDynamic() { return this.executeRequest('api/digging/dynamic') }; //API for Heating page getHeatingPointStates() { return this.executeRequest('api/heating/pointStates') }; getHeatingDistrictStatistics() { return this.executeRequest('api/heating/districtStatistics') }; getHeatingOrganizationStatistics() { return this.executeRequest('api/heating/organizationStatistics') }; //API for Ambulance page getAmbulanceStatistic() { return this.executeRequest('api/ambulance/statistics') }; //API for Heating page getGvpPointStates() { return this.executeRequest('api/heating/pointStates') }; getGvpDistrictStatistics() { return this.executeRequest('api/heating/districtStatistics') }; getGvpOrganizationStatistics() { return this.executeRequest('api/heating/organizationStatistics') }; }