public QuestionnaireTemplate SubmitAnsweredTemplate(int userId, QuestionnaireTemplate answeredTemplate, DateTime?now) { if (!now.HasValue) { now = Controller.GetServerDateTime(); } QuestionnaireAnswers lattestQuestioannairesAnswers = QuestionnaireAnswersRepository .GetAsQueryable <QuestionnaireAnswers>().ToList() .FirstOrDefault( q => q.UserId == userId && (DateTime.Compare(q.Date, now.Value.Date) == 0)); if (lattestQuestioannairesAnswers == null) { QuestionnaireAnswers answers = ExtractAnwsersFromAnsweredTemplate(answeredTemplate); try { QuestionnaireAnswers processedAnswers = ProceessQuestionAnswers(userId, answers, now); answeredTemplate.CoreScoreAnswer = GetLocalizedCoreScore(Constants.DEFAULT_QUESTIONNAIRE_LOCALE, processedAnswers.CoreScore); UpadatePersistedValues(processedAnswers); } catch (Exception e) { Console.WriteLine(e); } } return(answeredTemplate); }
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); } }
public void InsertDailyInfo(int userId, Model.DailyInfo.DailyInfo info, DateTime?now = null) { _log.LogInfo("InsertDailyInfo : " + info); try { info.Date = now ?? Controller.GetServerDateTime(); info.UserId = userId; //async GenericError error; var alreadyExisted = UpdateOrInsert(out error, userId, info, info.Date); if (error == null) { if (alreadyExisted) { // UpdateMonthlyInfoRecord(userId, info, now); // UpdateYearlyInfoRecord(userId, info, now); } else { // InsertMonthlyInfoRecord(info); // InsertYearlyInfoRecord(info); } } } catch (Exception ex) { Logger.Controller.LogError(ex); throw; } }
private void UpadatePersistedValues(QuestionnaireAnswers questionnaireAnwsers) { GenericError error; QuestionnaireAnswersRepository.InsertEntity(out error, questionnaireAnwsers); if (error == null) { EventsService.UpdateUserDates(questionnaireAnwsers.UserId, Controller.GetServerDateTime(), null); } }
public Model.DailyInfo.DailyInfo GetTodaysData(int userId, DateTime getServerDateTime) { GenericError error; DateTime now = Controller.GetServerDateTime(); List <Model.DailyInfo.DailyInfo> todays = DailyInfoSummaryDataRepository.GetEntities(out error, t => t.UserId == userId && t.Date.Day == now.Day && t.Date.Month == now.Month && t.Date.Year == now.Year); return(todays.Count == 0 ? new Model.DailyInfo.DailyInfo() : todays.Last()); }
protected virtual bool CheckIfQuestionnaireAlreadyAnswered(int userId, DateTime?now) { if (!now.HasValue) { now = Controller.GetServerDateTime(); } QuestionnaireAnswers lattestQuestioannairesAnswers = QuestionnaireAnswersRepository .GetAsQueryable <QuestionnaireAnswers>().ToList() .FirstOrDefault(q => q.UserId == userId && (DateTime.Compare(q.Date, now.Value.Date) == 0)); return(lattestQuestioannairesAnswers != null); }
private ServiceDailyInfo AdaptDayData(List <Model.DailyInfo.DailyInfo> lattestDailyInfos) { var serviceAdaptedData = new ServiceDailyInfo(); foreach (Model.DailyInfo.DailyInfo info in lattestDailyInfos) { serviceAdaptedData.Date = info.Date; serviceAdaptedData.Rest.Add(info.Rest); serviceAdaptedData.Travel.Add(info.Travel); serviceAdaptedData.Hotel.Add(info.Hotel); serviceAdaptedData.Sick.Add(info.Sick); serviceAdaptedData.Weight.Add(info.Weight); } serviceAdaptedData.TodaysDailyInfo = lattestDailyInfos.FirstOrDefault( d => d.Date.Day == Controller.GetServerDateTime().Day); return(serviceAdaptedData); }
private QuestionnaireAnswers ProceessQuestionAnswers(int userId, QuestionnaireAnswers questionnaireAnwsers, DateTime?now = null) { try { if (CalculateCoreScore(questionnaireAnwsers)) { FillSummaryData(questionnaireAnwsers); questionnaireAnwsers.Date = now ?? Controller.GetServerDateTime(); questionnaireAnwsers.UserId = userId; return(questionnaireAnwsers); } } catch (Exception ex) { Logger.Controller.LogError(ex); ErrorClasses.Controller.GetUnknownError(); throw; } throw new Exception(); }
private DateTime GetDateTimeNow() { return(Controller.GetServerDateTime()); }