示例#1
0
        public async Task <Unit> Handle(AddAnnouncementCommand request, CancellationToken cancellationToken)
        {
            if (_announcementRepository.CountAllByDate(request.PublicationDate, request.UserId).Result >= 5)
            {
                throw new ArgumentException("The number of the same publication date cannot be over than 5.");
            }

            var announcement = new Domain.Announcement(request.Id, request.Title, request.Content, request.PublicationDate, request.UserId);

            await _announcementRepository.AddAsync(announcement);

            await _announcementRepository.SaveChangesAsync();

            return(Unit.Value);
        }
        public void CheckMaxPublicationDate()
        {
            var annoncement = new Domain.Announcement(Guid.NewGuid(), "Title", "Content", DateTime.Now.AddDays(5), 1);

            Assert.IsTrue(annoncement.PublicationDate <= annoncement.CreatedDate.AddDays(30));
        }
        public void CheckMaxLengthOfContent()
        {
            var annoncement = new Domain.Announcement(Guid.NewGuid(), "Title", "Content", DateTime.Now.AddDays(5), 1);

            Assert.IsTrue(annoncement.Content.Length <= 1000);
        }