This commit is contained in:
Sébastien André
2020-08-25 16:25:40 +02:00
parent 25cfc62005
commit 498ec2c741
4 changed files with 157 additions and 97 deletions

View File

@@ -31,9 +31,9 @@ namespace skydiveLogs_api.Business
return _imageRepository.GetById(id);
}
public IEnumerable<Image> GetAllImages()
public IEnumerable<Image> GetAllImages(User connectedUser)
{
return _imageRepository.GetAll();
return _imageRepository.GetAll(connectedUser);
}
public void UpdateImage(int id, Image Image)

View File

@@ -7,7 +7,7 @@ namespace skydiveLogs_api.Business.Interface
{
public interface IImageService
{
IEnumerable<Image> GetAllImages();
IEnumerable<Image> GetAllImages(User connectedUser);
Image GetImageById(int id);

View File

@@ -18,8 +18,11 @@ namespace skydiveLogs_api.Business
public IEnumerable<Statistic> GetStatsByAircraft(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
return allJumps.GroupBy(j => j.Aircraft.Name,
if (allJumps.Any())
{
results = allJumps.GroupBy(j => j.Aircraft.Name,
j => j,
(groupby, jumps) => new Statistic
{
@@ -29,11 +32,17 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsByDz(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
return allJumps.GroupBy(j => j.DropZone.Name,
if (allJumps.Any())
{
results = allJumps.GroupBy(j => j.DropZone.Name,
j => j,
(groupby, jumps) => new Statistic
{
@@ -43,11 +52,17 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsByJumpType(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
return allJumps.GroupBy(j => j.JumpType.Name,
if (allJumps.Any())
{
results = allJumps.GroupBy(j => j.JumpType.Name,
j => j,
(groupby, jumps) => new Statistic
{
@@ -57,11 +72,17 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsByGear(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
return allJumps.GroupBy(j => j.Gear.Name,
if (allJumps.Any())
{
results = allJumps.GroupBy(j => j.Gear.Name,
j => j,
(groupby, jumps) => new Statistic
{
@@ -71,11 +92,17 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsByYear(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
return allJumps.GroupBy(j => j.JumpDate.Year,
if (allJumps.Any())
{
results = allJumps.GroupBy(j => j.JumpDate.Year,
j => j,
(groupby, jumps) => new Statistic
{
@@ -85,14 +112,20 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsForLastYearByDz(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
var yearOfLastJump = lastJump.JumpDate.Year;
return allJumps.Where(j => j.JumpDate.Year == yearOfLastJump)
results = allJumps.Where(j => j.JumpDate.Year == yearOfLastJump)
.GroupBy(j => j.DropZone.Name,
j => j,
(groupby, jumps) => new Statistic
@@ -103,14 +136,20 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsForLastYearByJumpType(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
var yearOfLastJump = lastJump.JumpDate.Year;
return allJumps.Where(j => j.JumpDate.Year == yearOfLastJump)
results = allJumps.Where(j => j.JumpDate.Year == yearOfLastJump)
.GroupBy(j => j.JumpType.Name,
j => j,
(groupby, jumps) => new Statistic
@@ -121,15 +160,21 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsForLastMonthByDz(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
var yearOfLastJump = lastJump.JumpDate.Year;
var monthOfLastJump = lastJump.JumpDate.Month;
return allJumps.Where(j => j.JumpDate.Year == yearOfLastJump && j.JumpDate.Month == monthOfLastJump)
results = allJumps.Where(j => j.JumpDate.Year == yearOfLastJump && j.JumpDate.Month == monthOfLastJump)
.GroupBy(j => j.DropZone.Name,
j => j,
(groupby, jumps) => new Statistic
@@ -140,15 +185,21 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public IEnumerable<Statistic> GetStatsForLastMonthByJumpType(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new List<Statistic>();
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
var yearOfLastJump = lastJump.JumpDate.Year;
var monthOfLastJump = lastJump.JumpDate.Month;
return allJumps.Where(j => j.JumpDate.Year == yearOfLastJump && j.JumpDate.Month == monthOfLastJump)
results = allJumps.Where(j => j.JumpDate.Year == yearOfLastJump && j.JumpDate.Month == monthOfLastJump)
.GroupBy(j => j.JumpType.Name,
j => j,
(groupby, jumps) => new Statistic
@@ -159,13 +210,19 @@ namespace skydiveLogs_api.Business
.ToList();
}
return results;
}
public SimpleSummary GetSimpleSummary(User connectedUser)
{
var allJumps = _jumpService.GetAllJumps(connectedUser);
var results = new SimpleSummary();
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).FirstOrDefault();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
return new SimpleSummary
results = new SimpleSummary
{
LastJump = lastJump,
TotalJumps = allJumps.Count(),
@@ -173,6 +230,9 @@ namespace skydiveLogs_api.Business
};
}
return results;
}
private readonly IJumpService _jumpService;
}
}

View File

@@ -25,7 +25,7 @@ namespace skydiveLogs_api.Controllers
[EnableCors]
public IEnumerable<ImageResp> Get()
{
var result = _imageService.GetAllImages();
var result = _imageService.GetAllImages(ConnectedUser);
return _mapper.Map<IEnumerable<ImageResp>>(result);
}