Beispiel #1
0
        public int Add(AlarmAddModel mAlarm)
        {
            var location = _context.Locations.FirstOrDefault(a => a.LocationId == mAlarm.LocationId);

            if (location == null)
            {
                throw new ExpectException("Could not find Location data which LocationId equal to " + mAlarm.LocationId);
            }

            var alarmMessage = _context.AlarmMessages.FirstOrDefault(a => a.AlarmMessageId == mAlarm.AlarmMessageId);

            if (alarmMessage == null)
            {
                throw new ExpectException("Could not find AlarmMessage data which AlarmMessageId equal to " + mAlarm.AlarmMessageId);
            }


            var model = new Alarm
            {
                AlarmMessageId = mAlarm.AlarmMessageId,
                LocationId     = mAlarm.LocationId,
                CreateDate     = DateTime.Now
            };

            _context.Alarms.Add(model);
            _context.SaveChanges();
            return(model.AlarmId);
        }
Beispiel #2
0
        public async Task <int> AddAsync(AlarmAddModel mAlarm)
        {
            var location = _context.Locations.FirstOrDefault(a => a.LocationId == mAlarm.LocationId);

            if (location == null)
            {
                throw new ExpectException("Could not find Location data which LocationId equal to " + mAlarm.LocationId);
            }

            var alarmMessage = _context.AlarmMessages.FirstOrDefault(a => a.AlarmMessageId == mAlarm.AlarmMessageId);

            if (alarmMessage == null)
            {
                throw new ExpectException("Could not find AlarmMessage data which AlarmMessageId equal to " + mAlarm.AlarmMessageId);
            }


            var model = new Alarm
            {
                AlarmMessageId = mAlarm.AlarmMessageId,
                LocationId     = mAlarm.LocationId,
                CreateDate     = DateTime.Now
            };

            _context.Alarms.Add(model);
            await _context.SaveChangesAsync();

            if (!string.IsNullOrEmpty(mAlarm.Email))
            {
                //Send Mail
                MailSend mailSend = new MailSend();
                mailSend.To.Add(new MailboxAddress("", mAlarm.Email));
                mailSend.Subject = "AlarmMessage";

                var builder = new BodyBuilder();

                // Set the plain-text version of the message text
                builder.HtmlBody = string.Format(@"
<!DOCTYPE html><html><head><meta charset='utf - 8'><title>MailAlarm</title><style></style></head><body id='preview'>
<p><font style='font-weight:bold;'>Location Information</font></p>
<p>DeviceSerialNo:{0}</p>
<p><font style='font-weight:bold;'>Alarm Message</font></p>
<p>ErrorCode:{1}</p>
<p>Message:{2}</p>
<br/>
<br/>
<br/>
--This is a system email 
</ body ></ html > ", location.DeviceSerialNo, alarmMessage.ErrorCode, alarmMessage.Message);


                mailSend.Body = builder.ToMessageBody();
                await mailSend.SendAsync();
            }


            return(model.AlarmId);
        }
Beispiel #3
0
        public async Task <IActionResult> AddAsync([FromBody] AlarmAddModel mAlarm)
        {
            if (!ModelState.IsValid)
            {
                return(HttpBadRequest(ModelStateError()));
            }

            var alarmId = await _alarmRepository.AddAsync(mAlarm);

            return(CreatedAtRoute("GetByAlarmIdAsync", new { controller = "Alarms", alarmId = alarmId }, mAlarm));
        }