Files
SkydiveLogs/Back/skydiveLogs-api.DomainBusiness/StatsService.cs

66 lines
2.0 KiB
C#

using skydiveLogs_api.Domain;
using skydiveLogs_api.DomainBusiness.Interfaces;
using System.Linq;
namespace skydiveLogs_api.DomainBusiness
{
public class StatsService : IStatsService
{
#region Public Constructors
public StatsService(IJumpService jumpService)
{
_jumpService = jumpService;
}
#endregion Public Constructors
#region Public Methods
public SimpleSummary GetSimpleSummary()
{
var allJumps = _jumpService.GetAllJumps();
var results = new SimpleSummary();
if (allJumps.Any())
{
var lastJump = allJumps.OrderByDescending(j => j.JumpDate).First();
results = new SimpleSummary
{
LastJump = lastJump,
TotalJumps = allJumps.Count(),
TotalCutaways = allJumps.Where(j => j.WithCutaway).Count()
};
}
return results;
}
public void Reset()
{
// var resetStats = new UserStats();
// var myStats = GetAllStats();
// myStats.ByAircraft = resetStats.ByAircraft;
// myStats.ByDz = resetStats.ByDz;
// myStats.ByGear = resetStats.ByGear;
// myStats.ByJumpType = resetStats.ByJumpType;
// myStats.ByYear = resetStats.ByYear;
// myStats.ForLastMonthByDz = resetStats.ForLastMonthByDz;
// myStats.ForLastMonthByJumpType = resetStats.ForLastMonthByJumpType;
// myStats.ForLastYearByDz = resetStats.ForLastYearByDz;
// myStats.ForLastYearByJumpType = resetStats.ForLastYearByJumpType;
// myStats.ByYearByJumpType = resetStats.ByYearByJumpType;
// _userStatsRepository.Update(myStats);
}
#endregion Public Methods
#region Private Fields
private readonly IJumpService _jumpService;
#endregion Private Fields
}
}