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