public FABookPeriodSelectorAttribute( Type selectorSearchType = null, Type searchByDateType = null, Type defaultType = null, Type bookSourceType = null, bool isBookRequired = true, Type assetSourceType = null, Type dateType = null, Type branchSourceType = null, Type branchSourceFormulaType = null, Type organizationSourceType = null, Type[] fieldList = null, ReportParametersFlag reportParametersMask = ReportParametersFlag.None) : base( searchByDateType: searchByDateType, defaultType: defaultType, bookSourceType: bookSourceType, isBookRequired: isBookRequired, assetSourceType: assetSourceType, dateType: dateType, branchSourceType: branchSourceType, branchSourceFormulaType: branchSourceFormulaType, organizationSourceType: organizationSourceType) { DefaultType = GetCompleteDefaultType(defaultType, searchByDateType, selectorSearchType, dateType); _Attributes.Add(new GenericFABookPeriodSelectorAttribute( selectorSearchType ?? GetDefaultSelectorSearchType(), FABookPeriodKeyProvider, reportParametersMask, fieldList ?? GetDefaultFieldList())); _SelAttrIndex = _Attributes.Count - 1; }
public static Type GetSearchType(Type origSearchType, ReportParametersFlag reportParametersMask) { //params will be passed into GetRecords context if they will be parsed from the query if (reportParametersMask != ReportParametersFlag.None) { BqlCommand cmd = BqlCommand.CreateInstance(origSearchType); if ((reportParametersMask & ReportParametersFlag.Organization) == ReportParametersFlag.Organization) { cmd = cmd.WhereAnd <Where <FABookPeriod.organizationID, Equal <Optional2 <FAQueryParameters.organizationID> > > >(); } if ((reportParametersMask & ReportParametersFlag.Branch) == ReportParametersFlag.Branch) { cmd = cmd.WhereAnd <Where <FABookPeriod.organizationID, Equal <Optional2 <FAQueryParameters.branchID> > > >(); } if ((reportParametersMask & ReportParametersFlag.BAccount) == ReportParametersFlag.BAccount) { cmd = cmd.WhereAnd <Where <FABookPeriod.organizationID, Equal <Optional2 <FAQueryParameters.orgBAccountID> > > >(); } if ((reportParametersMask & ReportParametersFlag.FixedAsset) == ReportParametersFlag.FixedAsset) { cmd = cmd.WhereAnd <Where <FABookPeriod.organizationID, Equal <Optional2 <FAQueryParameters.assetID> > > >(); } if ((reportParametersMask & ReportParametersFlag.Book) == ReportParametersFlag.Book) { cmd = cmd.WhereAnd <Where <FABookPeriod.bookID, Equal <Optional2 <FAQueryParameters.bookID> > > >(); } return(cmd.GetType()); } return(origSearchType); }
public virtual FABookPeriod.Key GetKeyFromReportParameters( PXGraph graph, object[] parameters, ReportParametersFlag reportParametersMask) { ParameterEvaluator <ReportParametersFlag> parameterEvaluator = new ParameterEvaluator <ReportParametersFlag>(reportParametersMask, parameters); HashSet <int?> branchIDs = new HashSet <int?>(); int? branchID = (int?)parameterEvaluator[ReportParametersFlag.Branch]; if (branchID != null) { branchIDs.Add(branchID); } branchIDs.AddRange(PXAccess.GetBranchIDsByBAccount((int?)parameterEvaluator[ReportParametersFlag.BAccount]).Cast <int?>()); FAKeyWithSourceValues keyWithSourceValuesItem = EvaluateRawKey(graph, new FAKeyWithSourceValues() { SpecificationItem = CachedSourcesSpecification.MainSpecificationItem, SourceOrganizationIDs = ((int?)parameterEvaluator[ReportParametersFlag.Organization]).SingleToList(), SourceBranchIDs = branchIDs.ToList(), SourceAssetIDs = ((int?)parameterEvaluator[ReportParametersFlag.FixedAsset]).SingleToList(), SourceBookIDs = ((int?)parameterEvaluator[ReportParametersFlag.Book]).SingleToList() }); if (keyWithSourceValuesItem.Key.OrganizationID == null && UseMasterOrganizationIDByDefault) { keyWithSourceValuesItem.Key.OrganizationID = MasterValue; } return(keyWithSourceValuesItem.Key); }
public GenericFABookPeriodSelectorAttribute( Type searchType, FABookPeriodKeyProvider bookPeriodKeyProvider, ReportParametersFlag reportParametersMask = ReportParametersFlag.None, Type[] fieldList = null) : base(GetSearchType(searchType, reportParametersMask), fieldList) { OrigSearchType = searchType; BookPeriodKeyProvider = bookPeriodKeyProvider; SelectorMode |= PXSelectorMode.NoAutocomplete; ReportParametersMask = reportParametersMask; }