예제 #1
0
 private void ValidateEmailMessageModel(EmailMessageDomain emailMessage)
 {
     ValidationHelper.NotNull(emailMessage, NotificationMessages.EmailMessageNotProvided);
     ValidationHelper.GreaterThanZero(emailMessage.NotificationId, NotificationMessages.EmailMessageInvalidNotificationId);
     ValidationHelper.NotNull(_notificationRepository.GetById(emailMessage.NotificationId), NotificationMessages.EmailMessageNotificationWithIdDoesNotExists);
     ValidationHelper.IsEmailValid(emailMessage.From, NotificationMessages.EmailMessageInvalidFromFormat);
 }
예제 #2
0
        /// <summary>
        /// Update an existing email message
        /// </summary>
        /// <param name="emailMessage"></param>
        public void Update(EmailMessageDomain emailMessage)
        {
            var emailMessageDb = _context.EmailMessage.FirstOrDefault(x => x.EmaiMessagelId == emailMessage.Id);

            emailMessageDb.FromDomainModel(emailMessage);
            _context.SaveChanges();
        }
예제 #3
0
        /// <summary>
        /// Add a new email message
        /// </summary>
        /// <param name="emailMessage"><see cref="EmailMessageDomain"/></param>
        /// <returns></returns>
        public int Add(EmailMessageDomain emailMessage)
        {
            var emailMessageDb = new EmailMessage().FromDomainModel(emailMessage);

            _context.EmailMessage.Add(emailMessageDb);
            _context.SaveChanges();
            return(emailMessageDb.EmaiMessagelId);
        }
예제 #4
0
        /// <summary>
        /// Update an email message
        /// </summary>
        /// <param name="emailMessage"></param>
        public void UpdateEmailMessage(EmailMessageDomain emailMessage)
        {
            ValidateEmailMessageModel(emailMessage);
            ValidationHelper.GreaterThanZero(emailMessage.Id, NotificationMessages.EmailMessageIdInvalidFormat);
            ValidationHelper.NotNull(_emailMessageRepository.GetById(emailMessage.Id), NotificationMessages.EmailMessageWithIdDoesNotExist);

            _emailMessageRepository.Update(emailMessage);
        }
예제 #5
0
        /// <summary>
        /// Delete email message with id
        /// </summary>
        /// <param name="emailMessageId"></param>
        public void DeleteEmailMessageById(int emailMessageId)
        {
            EmailMessageDomain emailMessageDomain = _emailMessageRepository.GetById(emailMessageId);

            if (emailMessageDomain == null)
            {
                throw new NsiArgumentException(NotificationMessages.EmailMessageWithIdDoesNotExist);
            }

            _emailMessageRepository.DeleteById(emailMessageId);
        }
예제 #6
0
        public static EmailMessage FromDomainModel(this EmailMessage obj, EmailMessageDomain domain)
        {
            if (obj == null)
            {
                obj = new EmailMessage();
            }

            obj.EmaiMessagelId = domain.Id;
            obj.From           = domain.From;
            obj.NotificationId = domain.NotificationId;

            return(obj);
        }
예제 #7
0
        public IHttpActionResult Add(AddEmailMessageRequest request)
        {
            request.ValidateNotNull();

            // convert from request model to domain model
            var emailMessageDomain = new EmailMessageDomain()
            {
                From           = request.From,
                NotificationId = request.NotificationId
            };

            return(Ok(new AddEmailMessageResponse()
            {
                Data = _emailMessageManipulation.AddEmailMessage(emailMessageDomain),
                Success = Common.Enumerations.ResponseStatus.Succeeded
            }));
        }
예제 #8
0
        /// <summary>
        /// Add an email message
        /// </summary>
        /// <param name="emailMessage"></param>
        /// <returns></returns>
        public int AddEmailMessage(EmailMessageDomain emailMessage)
        {
            ValidateEmailMessageModel(emailMessage);

            return(_emailMessageRepository.Add(emailMessage));
        }