Exemplo n.º 1
0
        public static void AddAlarm(AlarmType alarmType, EntityType objectType, AlarmStatusType alarmStatus, AlarmMessageType messageType, Guid objectId, Guid containerId)
        {
            using (var context = new DataService())
            {
                var storageAlarm = context.StorageAlarms.GetAll()
                                   .OrderByDescending(sa => sa.AlarmTimeStamp)
                                   .FirstOrDefault(
                    sAlarm =>
                    sAlarm.AlarmType == alarmType && sAlarm.ObjectType == objectType &&
                    sAlarm.ObjectId == objectId);

                if (storageAlarm != null && storageAlarm.Status == alarmStatus)
                {
                    return;
                }

                context.StorageAlarms.Add(new StorageAlarm
                {
                    Id             = Guid.NewGuid(),
                    AlarmType      = alarmType,
                    ObjectType     = objectType,
                    Status         = alarmStatus,
                    AlarmTimeStamp = DateTime.UtcNow,
                    MessageType    = messageType,
                    ContainerId    = containerId,
                    ObjectId       = objectId
                });

                context.Save();
            }
        }
Exemplo n.º 2
0
        public static void AddProviderAlarm(AlarmType alarmType, EntityType objectType, AlarmStatusType alarmStatus, AlarmMessageType messageType, Guid objectId, Guid containerId, String providerId)
        {
            if (String.IsNullOrEmpty(providerId))
            {
                throw new ArgumentNullException("providerId");
            }

            providerId = providerId.ToLower();

            using (var context = new DataService())
            {
                var storageAlarm = context.StorageAlarms.GetAll()
                                   .OrderByDescending(sa => sa.AlarmTimeStamp)
                                   .FirstOrDefault(sAlarm => sAlarm.AlarmType == alarmType &&
                                                   sAlarm.ObjectType == objectType &&
                                                   sAlarm.ObjectId == objectId &&
                                                   sAlarm.ProviderId != null &&
                                                   sAlarm.ProviderId.ToLower() == providerId);

                if (storageAlarm != null && storageAlarm.Status == alarmStatus)
                {
                    return;
                }

                context.StorageAlarms.Add(new StorageAlarm
                {
                    Id             = Guid.NewGuid(),
                    AlarmType      = alarmType,
                    ObjectType     = objectType,
                    Status         = alarmStatus,
                    AlarmTimeStamp = DateTime.UtcNow,
                    MessageType    = messageType,
                    ContainerId    = containerId,
                    ObjectId       = objectId,
                    ProviderId     = providerId
                });

                context.Save();
            }
        }