protected List <long> FilterOrganization(List <Organization> Organizations, IdFilter IdFilter) { List <long> In = null; List <long> NotIn = null; if (IdFilter.Equal != null) { if (In == null) { In = new List <long>(); } In.Add(IdFilter.Equal.Value); } if (IdFilter.In != null) { if (In == null) { In = new List <long>(); } In.AddRange(IdFilter.In); } if (IdFilter.NotEqual != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.Add(IdFilter.NotEqual.Value); } if (IdFilter.NotIn != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.AddRange(IdFilter.NotIn); } if (In != null) { List <string> InPaths = Organizations.Where(o => In.Count == 0 || In.Contains(o.Id)).Select(o => o.Path).ToList(); Organizations = Organizations.Where(o => InPaths.Any(p => o.Path.StartsWith(p))).ToList(); } if (NotIn != null) { List <string> NotInPaths = Organizations.Where(o => NotIn.Count == 0 || NotIn.Contains(o.Id)).Select(o => o.Path).ToList(); Organizations = Organizations.Where(o => !NotInPaths.Any(p => o.Path.StartsWith(p))).ToList(); } return(Organizations.Select(o => o.Id).ToList()); }
// 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 Sytem.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 (FilterScript.Expression != null) { targetCommand.AddParameter("FilterScript", FilterScript.Get(context)); } if (Property.Expression != null) { targetCommand.AddParameter("Property", Property.Get(context)); } if (Value.Expression != null) { targetCommand.AddParameter("Value", Value.Get(context)); } if (EQ.Expression != null) { targetCommand.AddParameter("EQ", EQ.Get(context)); } if (CEQ.Expression != null) { targetCommand.AddParameter("CEQ", CEQ.Get(context)); } if (NE.Expression != null) { targetCommand.AddParameter("NE", NE.Get(context)); } if (CNE.Expression != null) { targetCommand.AddParameter("CNE", CNE.Get(context)); } if (GT.Expression != null) { targetCommand.AddParameter("GT", GT.Get(context)); } if (CGT.Expression != null) { targetCommand.AddParameter("CGT", CGT.Get(context)); } if (LT.Expression != null) { targetCommand.AddParameter("LT", LT.Get(context)); } if (CLT.Expression != null) { targetCommand.AddParameter("CLT", CLT.Get(context)); } if (GE.Expression != null) { targetCommand.AddParameter("GE", GE.Get(context)); } if (CGE.Expression != null) { targetCommand.AddParameter("CGE", CGE.Get(context)); } if (LE.Expression != null) { targetCommand.AddParameter("LE", LE.Get(context)); } if (CLE.Expression != null) { targetCommand.AddParameter("CLE", CLE.Get(context)); } if (Like.Expression != null) { targetCommand.AddParameter("Like", Like.Get(context)); } if (CLike.Expression != null) { targetCommand.AddParameter("CLike", CLike.Get(context)); } if (NotLike.Expression != null) { targetCommand.AddParameter("NotLike", NotLike.Get(context)); } if (CNotLike.Expression != null) { targetCommand.AddParameter("CNotLike", CNotLike.Get(context)); } if (Match.Expression != null) { targetCommand.AddParameter("Match", Match.Get(context)); } if (CMatch.Expression != null) { targetCommand.AddParameter("CMatch", CMatch.Get(context)); } if (NotMatch.Expression != null) { targetCommand.AddParameter("NotMatch", NotMatch.Get(context)); } if (CNotMatch.Expression != null) { targetCommand.AddParameter("CNotMatch", CNotMatch.Get(context)); } if (Contains.Expression != null) { targetCommand.AddParameter("Contains", Contains.Get(context)); } if (CContains.Expression != null) { targetCommand.AddParameter("CContains", CContains.Get(context)); } if (NotContains.Expression != null) { targetCommand.AddParameter("NotContains", NotContains.Get(context)); } if (CNotContains.Expression != null) { targetCommand.AddParameter("CNotContains", CNotContains.Get(context)); } if (In.Expression != null) { targetCommand.AddParameter("In", In.Get(context)); } if (CIn.Expression != null) { targetCommand.AddParameter("CIn", CIn.Get(context)); } if (NotIn.Expression != null) { targetCommand.AddParameter("NotIn", NotIn.Get(context)); } if (CNotIn.Expression != null) { targetCommand.AddParameter("CNotIn", CNotIn.Get(context)); } if (Is.Expression != null) { targetCommand.AddParameter("Is", Is.Get(context)); } if (IsNot.Expression != null) { targetCommand.AddParameter("IsNot", IsNot.Get(context)); } return(new ActivityImplementationContext() { PowerShellInstance = invoker }); }
protected async Task <List <long> > FilterProductType(IProductTypeService ProductTypeService, ICurrentContext CurrentContext) { List <long> In = null; List <long> NotIn = null; foreach (var currentFilter in CurrentContext.Filters) { List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value; foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions) { if (FilterPermissionDefinition.Name == "ProductTypeId") { if (FilterPermissionDefinition.IdFilter.Equal != null) { if (In == null) { In = new List <long>(); } In.Add(FilterPermissionDefinition.IdFilter.Equal.Value); } if (FilterPermissionDefinition.IdFilter.In != null) { if (In == null) { In = new List <long>(); } In.AddRange(FilterPermissionDefinition.IdFilter.In); } if (FilterPermissionDefinition.IdFilter.NotEqual != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.Add(FilterPermissionDefinition.IdFilter.NotEqual.Value); } if (FilterPermissionDefinition.IdFilter.NotIn != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.AddRange(FilterPermissionDefinition.IdFilter.NotIn); } } } } List <ProductType> ProductTypes = await ProductTypeService.List(new ProductTypeFilter { Id = new IdFilter { In = In, NotIn = NotIn }, Skip = 0, Take = int.MaxValue, Selects = ProductTypeSelect.Id, }); List <long> ProductTypeIds = ProductTypes.Select(a => a.Id).ToList(); return(ProductTypeIds); }
protected async Task <List <long> > FilterOrganization(IOrganizationService OrganizationService, ICurrentContext CurrentContext) { if (CurrentContext.Filters == null || CurrentContext.Filters.Count == 0) { return(new List <long>()); } List <Organization> Organizations = await OrganizationService.List(new OrganizationFilter { Skip = 0, Take = int.MaxValue, Selects = OrganizationSelect.ALL, OrderBy = OrganizationOrder.Id, OrderType = OrderType.ASC }); List <long> In = null; List <long> NotIn = null; foreach (var currentFilter in CurrentContext.Filters) { List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value; foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions) { if (FilterPermissionDefinition.Name == "OrganizationId") { if (FilterPermissionDefinition.IdFilter.Equal != null) { if (In == null) { In = new List <long>(); } In.Add(FilterPermissionDefinition.IdFilter.Equal.Value); } if (FilterPermissionDefinition.IdFilter.In != null) { if (In == null) { In = new List <long>(); } In.AddRange(FilterPermissionDefinition.IdFilter.In); } if (FilterPermissionDefinition.IdFilter.NotEqual != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.Add(FilterPermissionDefinition.IdFilter.NotEqual.Value); } if (FilterPermissionDefinition.IdFilter.NotIn != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.AddRange(FilterPermissionDefinition.IdFilter.NotIn); } } } } if (In != null) { List <string> InPaths = Organizations.Where(o => In.Count == 0 || In.Contains(o.Id)).Select(o => o.Path).ToList(); Organizations = Organizations.Where(o => InPaths.Any(p => o.Path.StartsWith(p))).ToList(); } if (NotIn != null) { List <string> NotInPaths = Organizations.Where(o => NotIn.Count == 0 || NotIn.Contains(o.Id)).Select(o => o.Path).ToList(); Organizations = Organizations.Where(o => !NotInPaths.Any(p => o.Path.StartsWith(p))).ToList(); } List <long> organizationIds = Organizations.Select(o => o.Id).ToList(); return(organizationIds); }
protected async Task <List <long> > FilterStoreGrouping(IStoreGroupingService StoreGroupingService, ICurrentContext CurrentContext) { List <long> In = null; List <long> NotIn = null; foreach (var currentFilter in CurrentContext.Filters) { List <FilterPermissionDefinition> FilterPermissionDefinitions = currentFilter.Value; foreach (FilterPermissionDefinition FilterPermissionDefinition in FilterPermissionDefinitions) { if (FilterPermissionDefinition.Name == "StoreGroupingId") { if (FilterPermissionDefinition.IdFilter.Equal != null) { if (In == null) { In = new List <long>(); } In.Add(FilterPermissionDefinition.IdFilter.Equal.Value); } if (FilterPermissionDefinition.IdFilter.In != null) { if (In == null) { In = new List <long>(); } In.AddRange(FilterPermissionDefinition.IdFilter.In); } if (FilterPermissionDefinition.IdFilter.NotEqual != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.Add(FilterPermissionDefinition.IdFilter.NotEqual.Value); } if (FilterPermissionDefinition.IdFilter.NotIn != null) { if (NotIn == null) { NotIn = new List <long>(); } NotIn.AddRange(FilterPermissionDefinition.IdFilter.NotIn); } } } } List <StoreGrouping> StoreGroupings = await StoreGroupingService.List(new StoreGroupingFilter { Id = new IdFilter { In = In, NotIn = NotIn }, Skip = 0, Take = int.MaxValue, Selects = StoreGroupingSelect.Id, }); List <long> StoreGroupingIds = StoreGroupings.Select(a => a.Id).ToList(); return(StoreGroupingIds); }