Exemple #1
0
        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();
            }
        }