private List <PSObject> ApplyPropertyParameters(IEnumerable <PSObject> objects) { // TODO: implement support for ExpandProperty if (Property == null || Property.Length == 0) { return(objects.ToList()); } List <PSObject> selectedObjects = new List <PSObject>(); foreach (var curObj in objects) { if (PSObject.Unwrap(curObj) == null) { continue; } PSObject curSelectedObj = new PSObject(); curSelectedObj.TypeNames.Insert(0, "Selected." + curObj.BaseObject.GetType().ToString()); var properties = curObj.SelectProperties(Property, ExecutionContext); foreach (var curProp in properties) { if (ExcludeProperty == null || !ExcludeProperty.Contains(curProp.Name)) { curSelectedObj.Properties.Add(curProp); curSelectedObj.Members.Add(curProp); } } selectedObjects.Add(curSelectedObj); } return(selectedObjects); }
/// <summary> /// Create a new entity /// </summary> /// <param name="entity">Entity</param> /// <returns>Task</returns> public virtual async Task CreateAsync(TEntity entity) { var insertColumns = EntityColumns.Where(c => !ExcludeProperty.Contains(c)); var insertQuery = $@"INSERT INTO {TableName} ({string.Join(",", insertColumns)}) VALUES (@{string.Join(",@", insertColumns)}); {LastRowIdCommand}"; IEnumerable <Guid?> result = await Connection.QueryAsync <Guid?>(insertQuery, entity); //EntityType.GetProperty(IdPropertyName)? // .SetValue(entity, result.First()); }
/// <summary> /// Create a list of new entities /// </summary> /// <param name="entities">List of entities</param> /// <returns>Task</returns> public virtual async Task CreateManyAsync(IEnumerable <TEntity> entities) { try { var insertColumns = EntityColumns.Where(c => !ExcludeProperty.Contains(c)); var insertCommand = $@"INSERT INTO {TableName} ({string.Join(",", insertColumns)}) VALUES (@{string.Join(",@", insertColumns)})"; //IEnumerable<Guid?> result = await Connection.QueryAsync<Guid?>(insertCommand, entities); await Connection.ExecuteAsync(insertCommand, entities.ToList()); } catch { } }