public SearchRequestDto LocationFilterByStatusFunction(AssociationPreFilterFunctionParameters parameters)
        {
            var filter = parameters.BASEDto;

            filter.WhereClause = "Status NOT IN ('DECOMMISSIONED') AND TYPE='OPERATING'";
            return(filter);
        }
        public SearchRequestDto FilterAssets(AssociationPreFilterFunctionParameters parameters)
        {
            var filter = parameters.BASEDto;

            // Default filter to be applied to all Schemas
            filter.AppendSearchEntry("status", AssetConstants.Active, AssetConstants.Operating);
            filter.IgnoreWhereClause = true;

            // Add another filters depending on Schema
            var attributeHolder = parameters.OriginalEntity;
            var schemaId        = parameters.Metadata.Schema.SchemaId;

            if ("printer".Equals(schemaId))
            {
                filter.AppendSearchEntry(ISMConstants.PluspCustomerColumn, (string)attributeHolder.GetAttribute("printerpluspcustomer"));
                filter.AppendWhereClause(AssetConstants.BuildPrinterWhereClause());
            }
            else if ("phone".Equals(schemaId))
            {
                filter.AppendSearchEntry(ISMConstants.PluspCustomerColumn, (string)attributeHolder.GetAttribute("phonepluspcustomer"));
                filter.AppendSearchEntry(AssetConstants.ClassStructureIdColumn, AssetConstants.PhoneClassStructure);
            }
            else
            {
                var module = ContextLookuper.LookupContext().Module;
                if (module == null || !module.EqualsAny(FunctionalRole.AssetControl.GetName(), FunctionalRole.AssetRamControl.GetName()))
                {
                    //if asset control, or asset ram control could be creating sr out of asset and this would make no sense
                    filter.AppendSearchEntry(AssetConstants.CustodianColumn, SecurityFacade.CurrentUser(false).MaximoPersonId);
                }
            }
            return(filter);
        }
Example #3
0
        public SearchRequestDto FilterComponent(AssociationPreFilterFunctionParameters parameters)
        {
            var searchDTO = parameters.BASEDto;
            var system    = parameters.OriginalEntity.GetAttribute("system") as String;

            searchDTO.AppendSearchEntry("description", system + "%");
            return(searchDTO);
        }
        public SearchRequestDto FilterAffectedPerson(AssociationPreFilterFunctionParameters parameters)
        {
            var filter = parameters.BASEDto;

            //var w = "STATUS = 'ACTIVE' AND PLUSPCUSTVENDOR ='DE017430' AND LocationOrg = 'HLAG-00'";
            filter.WhereClause = "STATUS = 'ACTIVE'";
            return(filter);
        }
Example #5
0
        public SearchRequestDto FilterAssetSpec(AssociationPreFilterFunctionParameters parameters)
        {
            var searchDTO = parameters.BASEDto;
            var asset     = parameters.OriginalEntity.GetAttribute("asset");

            searchDTO.AppendSearchEntry("assetnum", asset.ToString());
            return(searchDTO);
        }
        public SearchRequestDto AssetFilterBySiteFunction(AssociationPreFilterFunctionParameters parameters)
        {
            var filter = parameters.BASEDto;

            if (parameters.Metadata.Schema.SchemaId.Equals("printer") || parameters.Metadata.Schema.SchemaId.Equals("phone"))
            {
                filter.WhereClause = String.Format("LOCATION = '{0}'", parameters.OriginalEntity.Attributes["location"]);
            }
            return(filter);
        }
Example #7
0
        public SearchRequestDto FilterMovedAsset(AssociationPreFilterFunctionParameters parameters)
        {
            var searchDTO = FilterAssetByHlagLocation(parameters);

            searchDTO.Context = new ApplicationLookupContext {
                MetadataId = "movedassets"
            };
            searchDTO.IgnoreWhereClause = false;
            return(searchDTO);
        }
Example #8
0
        public IEnumerable <IAssociationOption> ResolveOptions(ApplicationMetadata applicationMetadata,
                                                               AttributeHolder originalEntity, ApplicationAssociationDefinition association, SearchRequestDto associationFilter)
        {
            if (!FullSatisfied(association, originalEntity))
            {
                return(null);
            }

            // Set dependante lookup atributes
            var lookupAttributes = association.LookupAttributes();

            foreach (var lookupAttribute in lookupAttributes)
            {
                var searchValue = SearchUtils.GetSearchValue(lookupAttribute, originalEntity);
                if (!String.IsNullOrEmpty(searchValue))
                {
                    associationFilter.AppendSearchParam(lookupAttribute.To);
                    associationFilter.AppendSearchValue(searchValue);
                }
                else if (lookupAttribute.Query != null)
                {
                    associationFilter.AppendWhereClause(lookupAttribute.GetQueryReplacingMarkers(association.EntityAssociation.To));
                }
            }

            // Set projections and pre filter functions
            var numberOfLabels        = BuildProjections(associationFilter, association);
            var prefilterFunctionName = association.Schema.DataProvider.PreFilterFunctionName;

            if (prefilterFunctionName != null)
            {
                var preFilterParam = new AssociationPreFilterFunctionParameters(applicationMetadata, associationFilter, association, originalEntity);
                associationFilter = PrefilterInvoker.ApplyPreFilterFunction(DataSetProvider.GetInstance().LookupDataSet(applicationMetadata.Name), preFilterParam, prefilterFunctionName);
            }

            var entityMetadata = MetadataProvider.Entity(association.EntityAssociation.To);

            associationFilter.QueryAlias = association.AssociationKey;
            var queryResponse = EntityRepository.Get(entityMetadata, associationFilter);

            if (associationFilter is PaginatedSearchRequestDto)
            {
                var paginatedFilter = (PaginatedSearchRequestDto)associationFilter;
                if (paginatedFilter.NeedsCountUpdate)
                {
                    paginatedFilter.TotalCount = EntityRepository.Count(entityMetadata, associationFilter);
                }
            }

            var    options            = BuildOptions(queryResponse, association, numberOfLabels);
            string filterFunctionName = association.Schema.DataProvider.PostFilterFunctionName;

            return(filterFunctionName != null?ApplyFilters(applicationMetadata.Name, originalEntity, filterFunctionName, options, association) : options);
        }
Example #9
0
        public SearchRequestDto AssetFilterBySiteFunction(AssociationPreFilterFunctionParameters parameters)
        {
            var filter   = parameters.BASEDto;
            var location = (string)parameters.OriginalEntity.GetAttribute("location");

            if (location == null)
            {
                return(filter);
            }
            filter.AppendSearchEntry("asset.location", location.ToUpper());
            return(filter);
        }
Example #10
0
        public SearchRequestDto FilterAssetByHlagLocationAndParentAsset(AssociationPreFilterFunctionParameters parameters)
        {
            var searchDTO = FilterAssetByHlagLocation(parameters);
            var schema    = parameters.Metadata.Schema.SchemaId;

            if (schema.StartsWithAny(ImacConstants.Replace, ImacConstants.Remove, ImacConstants.Move))
            {
                //replace new child asset uses FilterAssetByHlagLocation as the pre filter function, so it wont hit here
                //add extra parent asset filter -->note that install wont use it
                var asset = parameters.OriginalEntity.GetAttribute("asset");
                searchDTO.AppendSearchEntry("parent", asset.ToString());
            }
            return(searchDTO);
        }
Example #11
0
        public SearchRequestDto FilterAssetByHlagLocation(AssociationPreFilterFunctionParameters parameters)
        {
            var searchDTO    = parameters.BASEDto;
            var fromLocation = parameters.OriginalEntity.GetAttribute("fromlocation") as String;
            var schema       = parameters.Metadata.Schema.SchemaId;
            var target       = parameters.Relationship.Target;
            var childAsset   = parameters.Relationship.Target.Contains("child");
            var isNew        = target.Contains("new");

            AppendLocationCondition(searchDTO, fromLocation, schema, childAsset, isNew, parameters.Metadata);
            searchDTO.AppendSearchEntry("status", ImacAssetHelper.GetImacStatusToSearch(schema, childAsset, isNew));
            searchDTO.AppendWhereClause(AppendClassificationCondition(schema, childAsset));
            return(searchDTO);
        }
Example #12
0
 public SearchRequestDto FilterAssets(AssociationPreFilterFunctionParameters parameters)
 {
     return(AssetFilterBySiteFunction(parameters));
 }
Example #13
0
        public SearchRequestDto CheckPlannedTools(AssociationPreFilterFunctionParameters parameters)
        {
            var filter = parameters.BASEDto;

            return(filter);
        }
 public SearchRequestDto PreFilterFunction(AssociationPreFilterFunctionParameters parameters)
 {
     return(parameters.BASEDto);
 }
        public SearchRequestDto FilterAssetsByItcLocation(AssociationPreFilterFunctionParameters parameters)
        {
            var fromLocation = parameters.OriginalEntity.GetAttribute("itcassetlocation") as String;

            return(AssetByLocationCondition(parameters.BASEDto, fromLocation, parameters.Metadata));
        }