Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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;
        }