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 } }