public override bool IsTheFirstEntryForUser(long userId) { GenericError error; List <DailyInfoSummaryData> entries = MonthlyDailyInfoSummaryDataRepository.GetEntities(out error, d => d.UserId == userId); return(entries == null || entries.Count == 0); }
public override IList <DailyInfoSummaryData> GetViewDataForTimePeriod(int userId, DateTime now, int numberOfMonthsToDisplay) { IQueryable <DailyInfoSummaryData> infos = MonthlyDailyInfoSummaryDataRepository.GetAsQueryable <DailyInfoSummaryData>(); if (infos.Any()) { DailyInfoSummaryData currentMonthEnergyInfo = infos.Last(); IEnumerable <DailyInfoSummaryData> lastMonthsEnergyLevelInfo = FinalMonthlyDailyInfoSummaryDataRepository .GetAsQueryable <DailyInfoSummaryData>().ToList() .Where( d => d.UserId == userId && DoGetInTimePeriodFilterComparision(now, numberOfMonthsToDisplay, d)); //aggregate lists var allMontlyEnergyInfo = new List <DailyInfoSummaryData> { currentMonthEnergyInfo }; allMontlyEnergyInfo.AddRange(lastMonthsEnergyLevelInfo); InitializePeriodStrategy(userId); IList <TimeSpan> monthlyTimeSpans = PeriodSelectionStrategy.GetTimeSpans(now, numberOfMonthsToDisplay); List <DailyInfoSummaryData> energyLevelInfoViewData = FillRecordsOnEmptyTimeSpans(allMontlyEnergyInfo, monthlyTimeSpans); return(DailyInfoService.TranctuateDigits(energyLevelInfoViewData)); } return(new List <DailyInfoSummaryData>()); }
public override DailyInfoSummaryData GetLattestRecord(long userId) { GenericError error; List <DailyInfoSummaryData> records = MonthlyDailyInfoSummaryDataRepository.GetEntities(out error, d => d.UserId == userId); if (records.Any()) { return(records.Last()); } return(new DailyInfoSummaryData()); }
public override bool AddNewRecordToDataBase(DailyInfoSummaryData energyLevel) { try { GenericError error; MonthlyDailyInfoSummaryDataRepository.InsertEntity(out error, energyLevel); if (error != null) { return(false); } return(true); } catch (Exception ex) { Logger.Controller.LogError(ex); Controller.GetUnknownError(); throw; } }