Esempio n. 1
0
 private Task RaiseUserRegisteredEvent(Email email, Role userRole)
 {
     return(domainEventsDispatcher.Raise(new UserRegisteredEvent
     {
         Email = email.Value,
         Role = userRole.ToString("G")
     }));
 }
Esempio n. 2
0
        private Result CreateCourse(string name, CourseHolder holder)
        {
            var course = Domain.Course.Create(name, holder);

            coursesRepository.Add(course);
            coursesRepository.SaveChanges();

            eventsDispatcher.Raise(new CourseCreatedEvent {
                Name = name, HolderEmail = holder.Email, Id = course.Id
            });

            return(Result.Ok());
        }
        protected override Result Handle(AddContentCommand request)
        {
            EnsureArg.IsNotNull(request);
            var contentHolder = contentHolderRepository.GetById(request.ContentHolderId);

            var model   = request.Model;
            var files   = fileRepository.FilesByIds(model.FilesIds);
            var content = Content.Create(model.Description, files);

            return(contentHolder.ToResult("Content holder not found!")
                   .OnSuccess(x => x.AddContent(request.Email, content))
                   .OnSuccess(() => contentHolderRepository.Update(contentHolder.Value))
                   .OnSuccess(() => contentHolderRepository.SaveChanges())
                   .OnSuccess(() => eventsDispatcher.Raise(new ContentAddedEvent
            {
                ContentHolderName = contentHolder.Value.Name,
                OriginId = contentHolder.Value.OriginId
            })));
        }