Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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());
        }