public async Task <Guid> Handle(CreateEntity request, CancellationToken cancellationToken) { var solution = await _solutionRepository.GetEntities() .Where(e => e.Id == request.SolutionId) .FirstOrDefaultAsync(); var solutionAccessor = new SolutionAccessor(solution.Path); var entity = _mapper.Map <CreateEntity, Generator.Models.Entity>(request); entity.Id = Guid.NewGuid(); await solutionAccessor.CreateEntityAsync(entity); // reload Entity from Solution entity = (await solutionAccessor.GetEntitiesAsync()) .First(e => e.Id == entity.Id); await _codeGenerator.GenerateEntityAsync(solutionAccessor, entity); await _codeGenerator.GenerateViewAsync(solutionAccessor, new Generator.Models.View(), entity); return(entity.Id); }