public void Create(ViewModels.NewAlert alert) { var receiver = (Enums.Alert.Receiver)alert.Receiver; var newAlert = new Alert() { AlertId = Guid.NewGuid(), Subject = alert.Subject, Message = alert.Message, CreatedBy = alert.CreatedBy, CreatedOn = DateTime.Now, Receiver = receiver, Status = Enums.Alert.AlertStatus.Available }; var userIds = GetReceiverIds(receiver); var userAlerts = new List <UserAlert>(); foreach (var item in userIds) { userAlerts.Add(new UserAlert { UserAlertId = Guid.NewGuid(), UserId = item, AlertId = newAlert.AlertId, ReadingStatus = Enums.UserAlert.ReadingStatus.NotRead }); } _unitOfWork.AlertRepository.Add(newAlert); _unitOfWork.UserAlertRepository.AddAll(userAlerts); _unitOfWork.Commit(); }
public IActionResult AddAlert([FromForm] ViewModels.NewAlert alert) { var user = User.Claims.Where(u => u.Type == ClaimTypes.UserData).FirstOrDefault().Value; var userId = new Guid(user); alert.CreatedBy = userId; _alertService.Create(alert); return(Ok()); }