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, "创建成功")); }
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); } }