public async Task <Site> AddAsync(Site entity)
        {
            var createdEntity = await _SiteRepository.AddAsync(entity);

            //  await _BaseRepository.Sav();
            return(createdEntity);
        }
        public async Task Execute(CreateSiteModel entity)
        {
            await _urlValidator.Validate(entity.Url);

            await _siteRepository.AddAsync(
                Site.New(entity.Url)
                .With(entity.Description)
                .With(DateTime.Now));
        }
        public async Task <Result> Handle(CreateSiteCommand request, CancellationToken cancellationToken)
        {
            if (await _siteRepository.AnyAsync())
            {
                return(Result <int> .Failure(0, "请不要重复创建"));
            }
            var site = new SiteInfo(request.Name, request.Domain);
            await _siteRepository.AddAsync(site);

            await _siteRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);

            // await _testRepository.AddAsync(new Domain.Test() { Name = "Testt" });

            await _testRepository.AddAsync(new Domain.Test("Testt"));

            await _testRepository.UnitOfWork.SaveEntitiesAsync(cancellationToken);



            return(Result <int> .Success(site.Id, "创建成功"));
        }
Example #4
0
        public async Task HandleAsync(CreateSite message, IRequestInfo requestInfo)
        {
            if (!await _businessRepository.IsBusinessValidAsync(message.BusinessId))
            {
                _publisher.PublishEvent(new CreateSiteRejected(Codes.InvalidBusinessId, "The business could not be found to create a site for."), requestInfo);
                return;
            }

            try
            {
                var contact = _factory.CreateContact(message.FirstName, message.SecondName,
                                                     message.Email, message.ContactNumber);
                var site = _factory.CreateSite(message.BusinessId, message.Name, message.PostCode, message.AddressLine1,
                                               message.AddressLine2, contact);

                await _siteRepository.AddAsync(site);

                _publisher.PublishEvent(new SiteCreated(site.Id, site.Name), requestInfo);
            }
            catch (VmsException e)
            {
                _publisher.PublishEvent(new CreateSiteRejected(e.Code, e.Message), requestInfo);
            }
        }