public bool InsertDailyEnergyLevel(DailyEnergyLevel energyLevel)
        {
            try
            {
                DateTime now = Controller.GetServerDateTime();
                bool     todayEnergyLevelExist = DailyEnergyLevelRepository.GetAsQueryable <DailyEnergyLevel>().ToList()
                                                 .FirstOrDefault(e => (e.UserId == energyLevel.UserId) && (now.Day == e.Date.Day) &&
                                                                 (now.Month == e.Date.Month) && (now.Year == e.Date.Year)) != null;

                if (todayEnergyLevelExist)
                {
                    return(false);
                }

                GenericError error;
                DailyEnergyLevelRepository.InsertEntity(out error, energyLevel);

                if (error == null)
                {
                    MontlyInfoHandlingTemplate.UpdateEntityRecords(energyLevel);

                    YearlyInfoHandlingTemplate.UpdateEntityRecords(energyLevel);

                    EventsService.UpdateUserDates(energyLevel.UserId, null, Controller.GetServerDateTime());
                }

                return(error == null);
            }
            catch (Exception ex)
            {
                Logger.Controller.LogError(ex);
                ErrorClasses.Controller.GetUnknownError();
                return(false);
            }
        }
 private IList <ServiceModel.EnergyLevel.EnergyLevelInfo> GetMonthlyInfoView(int userId, DateTime now,
                                                                             int numberOfMonthsToDisplay)
 {
     return(MontlyInfoHandlingTemplate.GetInfoView(userId, now, numberOfMonthsToDisplay));
 }