Fix about the favorite DZ

This commit is contained in:
Sébastien André
2021-03-25 16:57:30 +01:00
parent 0a6dbf42e4
commit 9d51f38f2e
10 changed files with 45 additions and 52 deletions

10
.gitignore vendored
View File

@@ -32,8 +32,8 @@
/Back/skydiveLogs-api.Domain/obj
/Back/skydiveLogs-api.Domain/bin/Debug/net5.0
/Back/skydiveLogs-api.Data/bin/Debug/net5.0
Back/skydiveLogs-api.Domain/bin/Release/net5.0/ref/skydiveLogs-api.Domain.dll
Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.dll
Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.pdb
Back/skydiveLogs-api/Data/JumpsDb-log.db
Back/skydiveLogs-api/Data/JumpsDb.db
/Back/skydiveLogs-api.Domain/bin/Release/net5.0/ref/skydiveLogs-api.Domain.dll
/Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.dll
/Back/skydiveLogs-api.Domain/bin/Release/net5.0/skydiveLogs-api.Domain.pdb
/Back/skydiveLogs-api/Data/JumpsDb-log.db
/Back/skydiveLogs-api/Data/JumpsDb.db

View File

@@ -2,6 +2,8 @@
{
public class FavoriteDropZone
{
public int Id { get; set; }
public DropZone DropZone { get; set; }
public User User { get; set; }

View File

@@ -30,13 +30,12 @@ namespace skydiveLogs_api.DomainBusiness
public IEnumerable<DropZone> GetAllDzs(User connectedUser)
{
var results = Enumerable.Empty<DropZone>();
var dropzones = _dropZoneRepository.GetAll();
var favorites = _favoriteDropZoneRepository.GetAll(connectedUser);
results = from dropZone in dropzones
join favorite in favorites on dropZone equals favorite.DropZone into tmp
join favorite in favorites on dropZone.Id equals favorite.DropZone.Id into tmp
from favoriteDz in tmp.DefaultIfEmpty()
select new DropZone
{

View File

@@ -38,7 +38,8 @@ namespace skydiveLogs_api.Ioc
_services.AddScoped<IGearRepository, GearRepository>();
_services.AddScoped<IUserRepository, UserRepository>();
_services.AddScoped<IUserImageRepository, UserImageRepository>();
_services.AddScoped<IFavoriteDropZoneRepository, FavoriteDropZoneRepository>();
string connectionString = _configuration.GetConnectionString("DefaultConnection");
_services.AddSingleton<IDataProvider>(c => new LiteDbProvider(connectionString));
}

View File

@@ -65,7 +65,7 @@ namespace skydiveLogs_api.Controllers
}
// PUT: api/DropZone/AddToFavorite/5
[HttpPut("{id}")]
[HttpPut("AddToFavorite/{id}")]
[EnableCors]
public bool AddToFavorite(int id)
{
@@ -73,7 +73,7 @@ namespace skydiveLogs_api.Controllers
}
// PUT: api/DropZone/RemoveToFavorite/15
[HttpPut("{id}")]
[HttpPut("RemoveToFavorite/{id}")]
[EnableCors]
public bool RemoveToFavorite(int id)
{

View File

@@ -60,7 +60,7 @@ namespace skydiveLogs_api.Controllers
_jumpService.UpdateJump(id, _mapper.Map<Jump>(value));
}
// DELETE: api/ApiWithActions/5
// DELETE: api/Jump/5
[HttpDelete("{id}")]
[EnableCors]
public void Delete(int id)

View File

@@ -32,9 +32,9 @@ namespace skydiveLogs_api.Controllers
}
// GET: api/User/AlwayLogin
[HttpGet("AlwayLogin")]
[HttpGet("AlwaysLogin")]
[EnableCors]
public IActionResult AlwayLogin()
public IActionResult AlwaysLogin()
{
return Ok();
}

View File

@@ -11,7 +11,7 @@
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<NameOfLastUsedPublishProfile>C:\Projects\SkydiveLogs\Back\skydiveLogs-api\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ShowAllFiles>false</ShowAllFiles>
<ActiveDebugProfile>skydiveLogs_api</ActiveDebugProfile>
<ActiveDebugProfile>IIS Express</ActiveDebugProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>

View File

@@ -72,9 +72,9 @@ export class AuthenticationService extends BaseService {
}
private alwaysLogin() {
return this.http.get(`${this.apiUrl}/User/AlwayLogin`, {
return this.http.get(`${this.apiUrl}/User/AlwaysLogin`, {
headers: this.headers
});
}).subscribe();
}
logout() {

View File

@@ -14,50 +14,42 @@ export class DropzoneService extends BaseService {
}
public getListOfDropZones(): Observable<Array<DropZoneResp>> {
return this.http
.get<Array<DropZoneResp>>(`${this.apiUrl}/DropZone`, {
headers: this.headers
})
.pipe(
map(response => {
const details = response.map(data => new DropZoneResp(data));
return details;
})
);
return this.http.get<Array<DropZoneResp>>(`${this.apiUrl}/DropZone`,
{ headers: this.headers })
.pipe(map(response => {
const details = response.map(data => new DropZoneResp(data));
return details;
}));
}
public SetFavoriteDropZone(selectedDz: DropZoneResp): boolean {
selectedDz.isFavorite = true;
this.http
.put(`${this.apiUrl}/DropZone/${selectedDz.id}`, selectedDz, {
headers: this.headers
})
.subscribe(data => console.log(data));
this.http.put(`${this.apiUrl}/DropZone/AddToFavorite/${selectedDz.id}`,
selectedDz,
{ headers: this.headers })
.subscribe(data => console.log(data));
return true;
}
public RemoveFavoriteDropZone(selectedDz: DropZoneResp): boolean {
selectedDz.isFavorite = false;
this.http
.put(`${this.apiUrl}/DropZone/${selectedDz.id}`, selectedDz, {
headers: this.headers
})
.subscribe(data => console.log(data));
this.http.put(`${this.apiUrl}/DropZone/RemoveToFavorite${selectedDz.id}`,
selectedDz,
{ headers: this.headers })
.subscribe(data => console.log(data));
return true;
}
public AddDropZone(
latitude: string,
longitude: string,
name: string,
address: string,
website: string,
email: string,
type: Array<string>,
isFavorite: boolean
) {
public AddDropZone(latitude: string,
longitude: string,
name: string,
address: string,
website: string,
email: string,
type: Array<string>,
isFavorite: boolean) {
const bodyNewDropZone: DropZoneReq = {
id: 0,
latitude: latitude,
@@ -70,10 +62,9 @@ export class DropzoneService extends BaseService {
isFavorite: isFavorite
};
this.http
.post(`${this.apiUrl}/DropZone`, bodyNewDropZone, {
headers: this.headers
})
.subscribe(data => console.log(data));
this.http.post(`${this.apiUrl}/DropZone`,
bodyNewDropZone,
{ headers: this.headers })
.subscribe(data => console.log(data));
}
}