protected void UpdateReportInfo(GlobalMoodReportInfoModel reportInfo) { Console.WriteLine("Update report info"); if (reportInfo.Application != null) { UpdateApplication(reportInfo.Application, true); } if (reportInfo.Prompts != null) { Console.WriteLine("Update prompts"); Activity.List("ActivityType=@ActivityType", new{ ActivityType = ActivityType.MoodPrompt }).DeleteAll(); foreach (var p in reportInfo.Prompts) { var prompt = Activity.New(); prompt.Id = p.Id; prompt.ActivityType = ActivityType.MoodPrompt; prompt.Title = p.Title; prompt.TimeStamp = p.TimeStamp; prompt.Save(); } } if (reportInfo.Events != null) { Console.WriteLine("Update events"); Activity.List("ActivityType=@ActivityType", new{ ActivityType = ActivityType.Event }).DeleteAll(); foreach (var e in reportInfo.Events) { var evnt = Activity.New(); evnt.Id = e.Id; evnt.ActivityType = ActivityType.Event; evnt.Title = e.Title; evnt.TimeStamp = e.TimeStamp; evnt.Save(); } } if (reportInfo.HasNewData) { MoodReport report = MoodReport.New(); var reportId = System.Guid.NewGuid().ToString(); report.Id = reportId; report.RequestedOn = reportInfo.RequestTimeStamp; report.StartsOn = reportInfo.ReportStartDate; report.EndsOn = reportInfo.ReportEndDate; report.RequestCompleted = 0; report.DayStartsOn = reportInfo.DayStartsOn; report.DayEndsOn = reportInfo.DayEndsOn; report.RequestCompleted = 1; report.Save(); } }