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(); } }
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(); } }