public IHttpActionResult FireAlarm(FireAlarm alarm) { AlarmDomain alarmDomain = new AlarmDomain(); DeviceRead currentDevice = StaticContext.GetCurrentDevice(); if (currentDevice == null) { throw new UnauthorizedAccessException("Device token required"); } ValuesDomain valuesDomain = new ValuesDomain(); DeviceValue val = new DeviceValue(); val = Utilities.Map <FireAlarm, DeviceValue>(alarm, val); val.DeviceId = currentDevice.Id; val.AlarmId = alarm.AlarmId; valuesDomain.SaveValue(val); if (alarm.Side == "onserver") { AlarmFireDto alarmDto = new AlarmFireDto(); alarmDto = Utilities.Map <FireAlarm, AlarmFireDto>(alarm, alarmDto); alarmDomain.FireAlarm(alarmDto); } return(Ok()); }
internal void FireAlarm(AlarmFireDto alarm) { tKovanContext ctx = new tKovanContext(); TeknolojiKovaniWebApi.Models.EntityClass.Alarm alarmEnt = ctx.Alarm.FirstOrDefault(i => i.Id == alarm.AlarmId); alarmEnt = ctx.Alarm.Include("Device").Include("Property").FirstOrDefault(i => i.Id == alarm.AlarmId); AlarmNotification notification = new AlarmNotification(); notification.DeviceName = alarmEnt.Device.Name; notification.Max = alarmEnt.Max; notification.Min = alarmEnt.Min; notification.NotificationParameter = alarmEnt.AlarmParameter; notification.Property = alarmEnt.Property.Name; notification.Value = alarm.Value; switch (alarmEnt.AlarmType) { case TeknolojiKovaniWebApi.Models.EntityClass.AlarmType.Sms: break; case TeknolojiKovaniWebApi.Models.EntityClass.AlarmType.Email: AlarmSendEmail(notification); break; case TeknolojiKovaniWebApi.Models.EntityClass.AlarmType.VoiceCall: break; case TeknolojiKovaniWebApi.Models.EntityClass.AlarmType.OnDevice: break; default: break; } }