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 { } }
// Module defining this command // Optional custom code for this activity /// <summary> /// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run. /// </summary> /// <param name="context">The NativeActivityContext for the currently running activity.</param> /// <returns>A populated instance of System.Management.Automation.PowerShell</returns> /// <remarks>The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.</remarks> protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context) { System.Management.Automation.PowerShell invoker = global::System.Management.Automation.PowerShell.Create(); System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName); // Initialize the arguments if (InputObject.Expression != null) { targetCommand.AddParameter("InputObject", InputObject.Get(context)); } if (Property.Expression != null) { targetCommand.AddParameter("Property", Property.Get(context)); } if (ExcludeProperty.Expression != null) { targetCommand.AddParameter("ExcludeProperty", ExcludeProperty.Get(context)); } if (ExpandProperty.Expression != null) { targetCommand.AddParameter("ExpandProperty", ExpandProperty.Get(context)); } if (Unique.Expression != null) { targetCommand.AddParameter("Unique", Unique.Get(context)); } if (Last.Expression != null) { targetCommand.AddParameter("Last", Last.Get(context)); } if (First.Expression != null) { targetCommand.AddParameter("First", First.Get(context)); } if (Skip.Expression != null) { targetCommand.AddParameter("Skip", Skip.Get(context)); } if (SkipLast.Expression != null) { targetCommand.AddParameter("SkipLast", SkipLast.Get(context)); } if (Wait.Expression != null) { targetCommand.AddParameter("Wait", Wait.Get(context)); } if (Index.Expression != null) { targetCommand.AddParameter("Index", Index.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }