public static IEntity Create(this IEntityFactory entityFactory, IEntityDefinition definition) { entityFactory.NotNull(nameof(entityFactory)); definition.NotNull(nameof(definition)); return(entityFactory.Create(definition, CancellationToken.None).GetAwaiter().GetResult()); }
public Task <bool> Delete(IEntityDefinition entityDefinition, object id, CancellationToken ct) { entityDefinition.NotNull(nameof(entityDefinition)); id.NotNull(nameof(id)); return(entityDefinition.DeleteHandler.Execute(new DeleteExecution(entityDefinition, id), ct)); }
public static IEntity Hydrate(this IEntityFactory entityFactory, IEntityDefinition definition, PropertyBag values) { entityFactory.NotNull(nameof(entityFactory)); definition.NotNull(nameof(definition)); return(entityFactory.Hydrate(definition, values, CancellationToken.None).GetAwaiter().GetResult()); }
public IQuery CreateQuery(IEntityDefinition entityDefinition) { entityDefinition.NotNull(nameof(entityDefinition)); //TODO: Might allow security/audit interception capability later... return(_entityRepository.CreateQuery(entityDefinition)); }
public static IPropertyDefinition Create( IEntityDefinition entityDefinition, IDataType dataType = null, PropertyBag propertyBag = null) { entityDefinition.NotNull(nameof(entityDefinition)); var result = new PropertyDefinition { EntityDefinition = entityDefinition, PropertyType = dataType, PropertyBag = propertyBag, Name = propertyBag?["name"] as string, Description = propertyBag?["description"] as string, DefaultValue = propertyBag?["default"] }; var validatorsData = propertyBag?["validators"] as PropertyBag[]; if (validatorsData != null) { result.ValidatorDefinitions = CreateValidatorDefinitions(result, validatorsData); } return(result); }
protected Query(IEntityDefinition entityDefinition) { EntityDefinition = entityDefinition.NotNull(nameof(entityDefinition)); Criterions = new List <ICriterion>(); Orders = new List <Order>(); SubQueries = new Dictionary <string, IQuery>(StringComparer.OrdinalIgnoreCase); Includes = new HashSet <IPropertyDefinition>(); }
public static Task <IEntity> GetById(this IEntityService entityService, IEntityDefinition entityDefinition, object id, CancellationToken ct) { entityService.NotNull(nameof(entityService)); entityDefinition.NotNull(nameof(entityDefinition)); id.NotNull(nameof(id)); return(entityService.CreateQuery(entityDefinition).Add(Criterion.IdEq(id)).UniqueResult <IEntity>(ct)); }
public async Task <IEntity> Create(IEntityDefinition definition, PropertyBag initialValues, CancellationToken ct) { definition.NotNull(nameof(definition)); var entity = Hydrate(definition, initialValues); await Init(entity, ct); return(entity); }
public async Task <bool> Delete(IEntityDefinition entityDefinition, object id, CancellationToken ct) { entityDefinition.NotNull(nameof(entityDefinition)); id.NotNull(nameof(id)); try { await Telemetry.TrackAsyncDependency( ct, _ => Client.DeleteDocumentAsync(GetDocumentUri(entityDefinition, id)), DependencyKind.HTTP, DependencyName ); } catch (DocumentClientException ex) { if (ex.StatusCode == HttpStatusCode.NotFound) { return(false); } throw; } return(true); }
public Entity(IEntityDefinition definition) { Definition = definition.NotNull(nameof(definition)); }
public Task <IEntity> Hydrate(IEntityDefinition definition, PropertyBag initialValues, CancellationToken ct) { definition.NotNull(nameof(definition)); return(Task.FromResult(Hydrate(definition, initialValues))); }
public IQuery CreateQuery(IEntityDefinition entityDefinition) { entityDefinition.NotNull(nameof(entityDefinition)); return(new DocumentDbQuery(this, entityDefinition)); }