diff --git a/Back/skydiveLogs-api.Business/DropZoneService.cs b/Back/skydiveLogs-api.Business/DropZoneService.cs
index 6c7d8f5..0543cf1 100644
--- a/Back/skydiveLogs-api.Business/DropZoneService.cs
+++ b/Back/skydiveLogs-api.Business/DropZoneService.cs
@@ -38,6 +38,11 @@ namespace skydiveLogs_api.Business
public bool UpdateDz(int id, DropZone dropZone)
{
dropZone.Id = id;
+
+ //dropZone.Address = dropZone.Address ?? string.Empty;
+ //dropZone.Website = dropZone.Address ?? string.Empty;
+ //dropZone.Email = dropZone.Address ?? string.Empty;
+
return _dropZoneRepository.Update(dropZone);
}
diff --git a/Back/skydiveLogs-api/Data/JumpsDb.db b/Back/skydiveLogs-api/Data/JumpsDb.db
index 1b224f6..7cbbbe9 100644
Binary files a/Back/skydiveLogs-api/Data/JumpsDb.db and b/Back/skydiveLogs-api/Data/JumpsDb.db differ
diff --git a/Front/skydivelogs-app/src/app/app.module.ts b/Front/skydivelogs-app/src/app/app.module.ts
index d337ad6..cd95496 100644
--- a/Front/skydivelogs-app/src/app/app.module.ts
+++ b/Front/skydivelogs-app/src/app/app.module.ts
@@ -14,6 +14,7 @@ import { ListOfJumpTypesComponent } from './list-of-jump-types/list-of-jump-type
import { ListOfGearsComponent } from './list-of-gears/list-of-gears.component';
import { DateService } from '../services/date.service';
+import { ServiceApiPut } from '../services/service-api-put.service';
import { ServiceApiGet } from '../services/service-api-get.service';
import { ServiceApiPost } from '../services/service-api-post.service';
import { ServiceComm } from '../services/service-comm.service';
@@ -80,6 +81,7 @@ const appRoutes: Routes = [
],
exports: [HttpClientModule],
providers: [
+ ServiceApiPut,
ServiceApiPost,
ServiceApiGet,
ServiceComm,
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
index 932abbb..bed649b 100644
--- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
+++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html
@@ -1,5 +1,15 @@
+
+ |
+
+
+
+ |
+
+
ID |
{{element.id}} |
diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
index 8a1dc90..5b437c2 100644
--- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
+++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts
@@ -4,6 +4,7 @@ import { MatTableDataSource } from '@angular/material/table';
import { DropZoneResp } from '../../models/dropzone';
import { ServiceApiGet } from '../../services/service-api-get.service';
+import { ServiceApiPut } from '../../services/service-api-put.service';
import { ServiceComm } from '../../services/service-comm.service';
@Component({
@@ -13,6 +14,7 @@ import { ServiceComm } from '../../services/service-comm.service';
})
export class ListOfDzsComponent implements OnInit {
public displayedColumns: Array = [
+ 'isfavorite',
'id',
'name',
'latitude',
@@ -26,7 +28,8 @@ export class ListOfDzsComponent implements OnInit {
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
constructor(
- private serviceApi: ServiceApiGet,
+ private serviceApiGet: ServiceApiGet,
+ private serviceApiPut: ServiceApiPut,
private serviceComm: ServiceComm
) { }
@@ -35,11 +38,19 @@ export class ListOfDzsComponent implements OnInit {
this.getListOfDropZones();
}
- getListOfDropZones() {
- this.serviceApi.getListOfDropZones().subscribe(data => {
+ private getListOfDropZones() {
+ this.serviceApiGet.getListOfDropZones().subscribe(data => {
this.dataSourceTable = new MatTableDataSource(data);
this.dataSourceTable.paginator = this.paginator;
this.resultsLength = data.length;
});
}
+
+ public setToFavorite(dropzone: DropZoneResp) {
+ dropzone.isfavorite = this.serviceApiPut.SetFavoriteDropZone(dropzone);
+ }
+
+ public removeToFavorite(dropzone: DropZoneResp) {
+ dropzone.isfavorite = this.serviceApiPut.RemoveFavoriteDropZone(dropzone);
+ }
}
diff --git a/Front/skydivelogs-app/src/assets/img/favorite.png b/Front/skydivelogs-app/src/assets/img/favorite.png
new file mode 100644
index 0000000..be1494e
Binary files /dev/null and b/Front/skydivelogs-app/src/assets/img/favorite.png differ
diff --git a/Front/skydivelogs-app/src/assets/img/not-favorite.png b/Front/skydivelogs-app/src/assets/img/not-favorite.png
new file mode 100644
index 0000000..cf64c3a
Binary files /dev/null and b/Front/skydivelogs-app/src/assets/img/not-favorite.png differ
diff --git a/Front/skydivelogs-app/src/models/dropzone.ts b/Front/skydivelogs-app/src/models/dropzone.ts
index 4d650d3..5687ef1 100644
--- a/Front/skydivelogs-app/src/models/dropzone.ts
+++ b/Front/skydivelogs-app/src/models/dropzone.ts
@@ -11,6 +11,7 @@ export class DropZoneResp {
public website: string;
public email: string;
public type: Array;
+ public isfavorite: boolean;
}
export class DropZoneReq {
@@ -26,4 +27,5 @@ export class DropZoneReq {
public website: string;
public email: string;
public type: Array;
+ public isfavorite: boolean;
}
diff --git a/Front/skydivelogs-app/src/services/service-api-get.service.ts b/Front/skydivelogs-app/src/services/service-api-get.service.ts
index fa454f5..e3b7698 100644
--- a/Front/skydivelogs-app/src/services/service-api-get.service.ts
+++ b/Front/skydivelogs-app/src/services/service-api-get.service.ts
@@ -1,14 +1,14 @@
-import { Injectable } from "@angular/core";
-import { HttpClient, HttpHeaders } from "@angular/common/http";
-import { Observable } from "rxjs";
-import { map } from "rxjs/operators";
-import { environment } from "../environments/environment";
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpHeaders } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import { map } from 'rxjs/operators';
+import { environment } from '../environments/environment';
-import { DropZoneResp } from "../models/dropzone";
-import { JumpResp } from "../models/jump";
-import { AircraftResp } from "../models/aircraft";
-import { JumpTypeResp } from "../models/jumpType";
-import { GearResp } from "../models/gear";
+import { DropZoneResp } from '../models/dropzone';
+import { JumpResp } from '../models/jump';
+import { AircraftResp } from '../models/aircraft';
+import { JumpTypeResp } from '../models/jumpType';
+import { GearResp } from '../models/gear';
import {
StatsResp,
@@ -17,14 +17,14 @@ import {
StatsByJumpTypeResp,
StatsByRigResp,
StatsByYearResp
-} from "../models/stats";
+} from '../models/stats';
@Injectable()
export class ServiceApiGet {
private readonly headers = new HttpHeaders({
- "Access-Control-Allow-Origin": environment.urlApi
+ 'Access-Control-Allow-Origin': environment.urlApi
});
- constructor(private http: HttpClient) {}
+ constructor(private http: HttpClient) { }
public getListOfDropZones(): Observable> {
return this.http
diff --git a/Front/skydivelogs-app/src/services/service-api-post.service.ts b/Front/skydivelogs-app/src/services/service-api-post.service.ts
index ebdfdb3..d051e09 100644
--- a/Front/skydivelogs-app/src/services/service-api-post.service.ts
+++ b/Front/skydivelogs-app/src/services/service-api-post.service.ts
@@ -1,17 +1,17 @@
-import { Injectable } from "@angular/core";
-import { HttpClient, HttpHeaders } from "@angular/common/http";
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpHeaders } from '@angular/common/http';
-import { JumpReq } from "../models/jump";
-import { environment } from "../environments/environment";
-import { DateService } from "./date.service";
+import { JumpReq } from '../models/jump';
+import { environment } from '../environments/environment';
+import { DateService } from './date.service';
@Injectable()
export class ServiceApiPost {
private readonly headers = new HttpHeaders({
- "Access-Control-Allow-Origin": environment.urlApi
+ 'Access-Control-Allow-Origin': environment.urlApi
});
- constructor(private http: HttpClient, private dateService: DateService) {}
+ constructor(private http: HttpClient, private dateService: DateService) { }
public AddListOfJump(
selectedJumpType: number,
@@ -79,7 +79,7 @@ export class ServiceApiPost {
exitAltitude: defaultExitAltitude,
deployAltitude: defaultDeployAltitude,
gearId: selectedRig,
- notes: "",
+ notes: '',
id: 0,
jumpDate: jumpDate
};
diff --git a/Front/skydivelogs-app/src/services/service-api-put.service.ts b/Front/skydivelogs-app/src/services/service-api-put.service.ts
new file mode 100644
index 0000000..51c9634
--- /dev/null
+++ b/Front/skydivelogs-app/src/services/service-api-put.service.ts
@@ -0,0 +1,37 @@
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpHeaders } from '@angular/common/http';
+
+import { environment } from '../environments/environment';
+import { DateService } from './date.service';
+import { DropZoneResp } from '../models/dropzone';
+
+@Injectable()
+export class ServiceApiPut {
+ private readonly headers = new HttpHeaders({
+ 'Access-Control-Allow-Origin': environment.urlApi
+ });
+
+ constructor(private http: HttpClient, private dateService: DateService) { }
+
+ public SetFavoriteDropZone(selectedDz: DropZoneResp): boolean {
+ selectedDz.isfavorite = true;
+ this.http
+ .put(`${environment.urlApi}/api/DropZone/${selectedDz.id}`, selectedDz, {
+ headers: this.headers
+ })
+ .subscribe(data => console.log(data));
+
+ return true;
+ }
+
+ public RemoveFavoriteDropZone(selectedDz: DropZoneResp): boolean {
+ selectedDz.isfavorite = false;
+ this.http
+ .put(`${environment.urlApi}/api/DropZone/${selectedDz.id}`, selectedDz, {
+ headers: this.headers
+ })
+ .subscribe(data => console.log(data));
+
+ return true;
+ }
+}