Example #1
0
        private EntityRepository.SearchEntityResult FetchMore(PaginatedSearchRequestDto dto, DateTime lastMonth,
                                                              SlicedEntityMetadata slicedMetadata, long?lowerRowstamp, Boolean initofBatch)
        {
            dto.AppendSearchEntry("status", "!=DECOMMISSIONED");
            dto.AppendSearchEntry("changedate", ">=" + lastMonth.ToShortDateString());
            if (initofBatch)
            {
                dto.AppendSearchEntry("rowstamp", ">" + lowerRowstamp);
            }
            else
            {
                dto.AppendSearchEntry("rowstamp", ">=" + lowerRowstamp);
            }

            dto.SearchSort = "rowstamp asc";
            dto.QueryAlias = "R0042";
            var searchEntityResult = _entityRepository.GetAsRawDictionary(slicedMetadata, dto, false);

            return(searchEntityResult);
        }
        /// <summary>
        ///  this is used for both autocompleteserver or lookup to peform the search on the server based upon the labe string
        /// </summary>
        /// <param name="request"></param>
        /// <param name="association"></param>
        /// <param name="searchRequest"></param>
        private static void AppendSearchLabelString(AssociationUpdateRequest request,
                                                    ApplicationAssociationDefinition association, PaginatedSearchRequestDto searchRequest)
        {
            var sbParam = new StringBuilder("(");
            var sbValue = new StringBuilder();

            foreach (var labelField in association.LabelFields)
            {
                sbParam.Append(labelField).Append(SearchUtils.SearchParamOrSeparator);
                sbValue.Append("%" + request.LabelSearchString + "%").Append(SearchUtils.SearchValueSeparator);
            }

            sbParam.Remove(sbParam.Length - SearchUtils.SearchParamOrSeparator.Length, SearchUtils.SearchParamOrSeparator.Length);
            sbValue.Remove(sbValue.Length - SearchUtils.SearchValueSeparator.Length, SearchUtils.SearchValueSeparator.Length);
            sbParam.Append(")");
            searchRequest.AppendSearchEntry(sbParam.ToString(), sbValue.ToString());
        }
Example #3
0
        private ApplicationListResult R0042Export(ApplicationMetadata application, PaginatedSearchRequestDto dto)
        {
            var refDate = dto.SearchValues;
            var dates   = refDate.Split('/'); // comes as 04/2018
            var newDto  = new PaginatedSearchRequestDto {
                NeedsCountUpdate = false
            };
            var year  = int.Parse(dates[1]);
            var month = int.Parse(dates[0]);

            var extractionDate = new DateTime(year, month, 1);

            newDto.AppendWhereClauseFormat("month(asset.changedate) = {0} and year(asset.changedate) = {1}", month, year);
            newDto.AppendSearchEntry("status", "!=DECOMMISSIONED");
            var dbList = base.GetList(application, newDto);

            if (!dbList.ResultObject.Any())
            {
                return(dbList);
            }

            var map = R0042QueryHelper.BuildIdMap(dbList);

            var assetIds  = map.Keys.Select(s => s.AssetId).ToList();
            var assetNums = map.Keys.Select(s => s.AssetNum).ToList();

            var historicData = GetDAO().FindByNativeQuery(
                "select * from HIST_ASSETR0042 m inner join (select assetid,max(extractiondate) as max_date from HIST_ASSETR0042 where assetid in (:p0) and ExtractionDate <= :p1 group by assetid)i on (m.assetid = i.assetid and m.extractiondate = i.max_date) where m.assetid in (:p0) and m.extractiondate <= :p1", assetIds, extractionDate);


            var imacDataSet = GetImacDataSet();
            var imacs       = imacDataSet.GetClosedImacIdsForR0042(assetNums, month, year);

            R0042QueryHelper.MergeImacData(map, imacs);
            R0042QueryHelper.MergeData(map, historicData);



            return(dbList);
        }
Example #4
0
        public IEnumerable <IAssociationOption> GetAssetCommodities(OptionFieldProviderParameters parameters)
        {
            var assetnum = parameters.OriginalEntity.GetAttribute("asset") as String;
            var user     = SecurityFacade.CurrentUser();
            //TODO: Improve this query
            var applicationMetadata = MetadataProvider
                                      .Application("commodities")
                                      .ApplyPolicies(new ApplicationMetadataSchemaKey("detail"), user, ClientPlatform.Web);
            var entityMetadata = MetadataProvider.SlicedEntityMetadata(applicationMetadata);
            var searchDto      = new PaginatedSearchRequestDto(100, PaginatedSearchRequestDto.DefaultPaginationOptions);

            searchDto.AppendSearchEntry("commodity", new[] { "HLC-0003", "HLC-0005", "HLC-0006", "HLC-0007", "HLC-0008", "HLC-0786" });

            // This value is added due to a inserted parameter in a relatioship clause (from 'commodities' to 'assetloccomm')
            searchDto.ValuesDictionary["commodityassetnum"] = new SearchParameter(assetnum);

            var entities = _maximoConnectorEngine.Find(entityMetadata, searchDto);

            var options = new HashSet <IAssociationOption>();

            foreach (var commodity in entities)
            {
                var desc       = commodity.GetAttribute("description") as String;
                var isSelected = commodity.GetAttribute("selectedcommodities_.assetnum") != null;

                if (!String.IsNullOrWhiteSpace(desc))
                {
                    options.Add(new MultiValueAssociationOption(desc, desc,
                                                                new Dictionary <string, object> {
                        { "isSelected", isSelected }
                    }));
                }
            }

            return(options);
        }