private Document AlarmToDocument(Alarm alarm)
        {
            Document document = new Document()
            {
                Id = Guid.NewGuid().ToString(),
            };

            document.SetPropertyValue(this.docSchemaKey, this.docSchemaValue);
            document.SetPropertyValue(this.docSchemaVersionKey, this.docSchemaVersionValue);
            document.SetPropertyValue(this.createdKey, alarm.DateCreated.ToUnixTimeMilliseconds());
            document.SetPropertyValue(this.modifiedKey, alarm.DateModified.ToUnixTimeMilliseconds());
            document.SetPropertyValue(this.statusKey, alarm.Status);
            document.SetPropertyValue(this.descriptionKey, alarm.Description);
            document.SetPropertyValue(this.deviceIdKey, alarm.DeviceId);
            document.SetPropertyValue(this.ruleIdKey, alarm.RuleId);
            document.SetPropertyValue(this.ruleSeverityKey, alarm.RuleSeverity);
            document.SetPropertyValue(this.ruleDescriptionKey, alarm.RuleDescription);

            // The logic used to generate the alarm (future proofing for ML)
            document.SetPropertyValue("logic", "1Device-1Rule-1Message");

            return(document);
        }
        private List <Alarm> GetSampleAlarms()
        {
            List <Alarm> list = new List <Alarm>();

            Alarm alarm1 = new Alarm(
                null,
                "1",
                DateTimeOffset.Parse("2017-07-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                DateTimeOffset.Parse("2017-07-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                "Temperature on device x > 75 deg F",
                "group-Id",
                "device-id",
                "open",
                "1",
                "critical",
                "HVAC temp > 50");

            Alarm alarm2 = new Alarm(
                null,
                "2",
                DateTimeOffset.Parse("2017-06-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                DateTimeOffset.Parse("2017-07-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                "Temperature on device x > 75 deg F",
                "group-Id",
                "device-id",
                "acknowledged",
                "2",
                "critical",
                "HVAC temp > 60");

            Alarm alarm3 = new Alarm(
                null,
                "3",
                DateTimeOffset.Parse("2017-05-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                DateTimeOffset.Parse("2017-06-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                "Temperature on device x > 75 deg F",
                "group-Id",
                "device-id",
                "open",
                "3",
                "info",
                "HVAC temp > 70");

            Alarm alarm4 = new Alarm(
                null,
                "4",
                DateTimeOffset.Parse("2017-04-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                DateTimeOffset.Parse("2017-06-22T22:22:22-08:00").ToUnixTimeMilliseconds(),
                "Temperature on device x > 75 deg F",
                "group-Id",
                "device-id",
                "closed",
                "4",
                "warning",
                "HVAC temp > 80");

            list.Add(alarm1);
            list.Add(alarm2);
            list.Add(alarm3);
            list.Add(alarm4);

            return(list);
        }