Пример #1
0
        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
            {
            }
        }
Пример #4
0
        // 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
            });
        }