Exemplo n.º 1
0
        public async Task <EntityDefinition> CreateEntityDefinitionAsync(CreateEntityDefinitionRequest request, CancellationToken cancellationToken = new CancellationToken())
        {
            var fields = request.Fields ?? new FieldDefinition[] { };

            if (request.Id == Guid.Empty)
            {
                throw new InvalidOperationException($"The specified id contained the default value.");
            }

            Guid id = request.Id ?? Guid.NewGuid();

            var entityDefinition = new EntityDefinition()
            {
                Id         = id,
                Name       = request.Name,
                IsConcrete = request.IsConcrete,
                Fields     = fields,
                CreatedUtc = DateTime.UtcNow,
            };

            await _storage.AddEntityDefinitionAsync(entityDefinition, cancellationToken);

            return(entityDefinition);
        }