/// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            filterControl.Controls.Add(accountPicker);

            SlidingDateRangePicker slidingDateRangePicker = new SlidingDateRangePicker();

            slidingDateRangePicker.ID = filterControl.ID + "_slidingDateRangePicker";
            slidingDateRangePicker.AddCssClass("js-sliding-date-range");
            slidingDateRangePicker.Label    = "Date Range";
            slidingDateRangePicker.Help     = "The date range of the transactions using the 'Sunday Date' of each transaction";
            slidingDateRangePicker.Required = true;
            filterControl.Controls.Add(slidingDateRangePicker);

            RockCheckBox cbCombineGiving = new RockCheckBox();

            cbCombineGiving.ID       = filterControl.ID + "_cbCombineGiving";
            cbCombineGiving.Label    = "Combine Giving";
            cbCombineGiving.CssClass = "js-combine-giving";
            cbCombineGiving.Help     = "Combine individuals in the same giving group when calculating first contribution date and reporting the list of individuals.";
            filterControl.Controls.Add(cbCombineGiving);

            var controls = new Control[3] {
                accountPicker, slidingDateRangePicker, cbCombineGiving
            };

            return(controls);
        }
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            filterControl.Controls.Add(accountPicker);

            SlidingDateRangePicker slidingDateRangePicker = new SlidingDateRangePicker();

            slidingDateRangePicker.ID = filterControl.ID + "_slidingDateRangePicker";
            slidingDateRangePicker.AddCssClass("js-sliding-date-range");
            slidingDateRangePicker.Label    = "Date Range";
            slidingDateRangePicker.Help     = "The date range of the transactions using the 'Sunday Date' of each transaction";
            slidingDateRangePicker.Required = true;
            filterControl.Controls.Add(slidingDateRangePicker);

            var controls = new Control[2] {
                accountPicker, slidingDateRangePicker
            };

            return(controls);
        }
示例#3
0
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(System.Web.UI.Control parentControl)
        {
            var comparisonControl = ComparisonHelper.ComparisonControl(ComparisonType.LessThan | ComparisonType.GreaterThanOrEqualTo | ComparisonType.EqualTo);

            comparisonControl.ID = parentControl.ID + "_0";
            parentControl.Controls.Add(comparisonControl);

            var globalAttributes = GlobalAttributesCache.Get();

            NumberBox numberBoxAmount = new NumberBox();

            numberBoxAmount.PrependText = globalAttributes.GetValue("CurrencySymbol") ?? "$";
            numberBoxAmount.NumberType  = ValidationDataType.Currency;
            numberBoxAmount.ID          = parentControl.ID + "_1";
            numberBoxAmount.Label       = "Amount";

            parentControl.Controls.Add(numberBoxAmount);

            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = parentControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            parentControl.Controls.Add(accountPicker);

            SlidingDateRangePicker slidingDateRangePicker = new SlidingDateRangePicker();

            slidingDateRangePicker.ID = parentControl.ID + "_slidingDateRangePicker";
            slidingDateRangePicker.AddCssClass("js-sliding-date-range");
            slidingDateRangePicker.Label    = "Date Range";
            slidingDateRangePicker.Help     = "The date range of the transactions using the transaction date of each transaction";
            slidingDateRangePicker.Required = true;
            parentControl.Controls.Add(slidingDateRangePicker);

            RockCheckBox cbCombineGiving = new RockCheckBox();

            cbCombineGiving.ID       = parentControl.ID + "_cbCombineGiving";
            cbCombineGiving.Label    = "Combine Giving";
            cbCombineGiving.CssClass = "js-combine-giving";
            cbCombineGiving.Help     = "Combine individuals in the same giving group when calculating totals and reporting the list of individuals.";
            parentControl.Controls.Add(cbCombineGiving);

            RockCheckBox cbUseAnalytics = new RockCheckBox();

            cbUseAnalytics.ID       = parentControl.ID + "_cbUseAnalytics";
            cbUseAnalytics.Label    = "Use Analytics Models";
            cbUseAnalytics.CssClass = "js-use-analytics";
            cbUseAnalytics.Help     = "Using Analytics Data is MUCH faster than querying real-time data, but it may not include data that has been added or updated in the last 24 hours.";
            parentControl.Controls.Add(cbUseAnalytics);

            var controls = new Control[6] {
                comparisonControl, numberBoxAmount, accountPicker, slidingDateRangePicker, cbCombineGiving, cbUseAnalytics
            };

            SetSelection(controls, $"{ComparisonType.GreaterThanOrEqualTo.ConvertToInt().ToString()}|||||||");

            return(controls);
        }
示例#4
0
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            var comparisonControl = ComparisonHelper.ComparisonControl(ComparisonType.LessThan | ComparisonType.GreaterThanOrEqualTo | ComparisonType.EqualTo);

            comparisonControl.ID = filterControl.ID + "_comparisonControl";
            filterControl.Controls.Add(comparisonControl);

            var globalAttributes = GlobalAttributesCache.Get();

            NumberBox numberBoxAmount = new NumberBox();

            numberBoxAmount.PrependText = globalAttributes.GetValue("CurrencySymbol") ?? "$";
            numberBoxAmount.NumberType  = ValidationDataType.Currency;
            numberBoxAmount.ID          = filterControl.ID + "_numberBoxAmount";
            numberBoxAmount.Label       = "Amount";

            filterControl.Controls.Add(numberBoxAmount);

            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            filterControl.Controls.Add(accountPicker);

            SlidingDateRangePicker slidingDateRangePicker = new SlidingDateRangePicker();

            slidingDateRangePicker.ID = filterControl.ID + "_slidingDateRangePicker";
            slidingDateRangePicker.AddCssClass("js-sliding-date-range");
            slidingDateRangePicker.Label    = "Date Range";
            slidingDateRangePicker.Help     = "The date range of the transactions using the transaction date of each transaction";
            slidingDateRangePicker.Required = true;
            filterControl.Controls.Add(slidingDateRangePicker);

            RockCheckBox cbCombineGiving = new RockCheckBox();

            cbCombineGiving.ID       = filterControl.ID + "_cbCombineGiving";
            cbCombineGiving.Label    = "Combine Giving";
            cbCombineGiving.CssClass = "js-combine-giving";
            cbCombineGiving.Help     = "Combine individuals in the same giving group when calculating totals and reporting the list of individuals.";
            filterControl.Controls.Add(cbCombineGiving);

            var controls = new Control[5] {
                comparisonControl, numberBoxAmount, accountPicker, slidingDateRangePicker, cbCombineGiving
            };

            SetSelection(entityType, controls, string.Format("{0}||||||", ComparisonType.GreaterThanOrEqualTo.ConvertToInt().ToString()));

            return(controls);
        }
示例#5
0
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            AccountPicker accountPicker = new AccountPicker();

            // NOTE: This filter is already designed to handle either Multiselect or SingleSelect mode, so all you have to is set this to true or false
            accountPicker.AllowMultiSelect = true;

            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Account";
            filterControl.Controls.Add(accountPicker);

            return(new Control[] { accountPicker });
        }
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(System.Web.UI.Control parentControl)
        {
            var comparisonControl = ComparisonHelper.ComparisonControl(ComparisonType.LessThan | ComparisonType.GreaterThanOrEqualTo | ComparisonType.EqualTo);

            comparisonControl.ID = parentControl.ID + "_0";
            parentControl.Controls.Add(comparisonControl);

            var globalAttributes = Rock.Web.Cache.GlobalAttributesCache.Read();

            NumberBox numberBoxAmount = new NumberBox();

            numberBoxAmount.PrependText = globalAttributes.GetValue("CurrencySymbol") ?? "$";
            numberBoxAmount.NumberType  = ValidationDataType.Currency;
            numberBoxAmount.ID          = parentControl.ID + "_1";
            numberBoxAmount.Label       = "Amount";

            parentControl.Controls.Add(numberBoxAmount);

            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = parentControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            parentControl.Controls.Add(accountPicker);

            DateRangePicker dateRangePicker = new DateRangePicker();

            dateRangePicker.ID       = parentControl.ID + "_2";
            dateRangePicker.Label    = "Date Range";
            dateRangePicker.Required = true;
            parentControl.Controls.Add(dateRangePicker);

            RockCheckBox cbCombineGiving = new RockCheckBox();

            cbCombineGiving.ID       = parentControl.ID + "_cbCombineGiving";
            cbCombineGiving.Label    = "Combine Giving";
            cbCombineGiving.CssClass = "js-combine-giving";
            cbCombineGiving.Help     = "Combine individuals in the same giving group when calculating totals and reporting the list of individuals.";
            parentControl.Controls.Add(cbCombineGiving);

            var controls = new Control[5] {
                comparisonControl, numberBoxAmount, accountPicker, dateRangePicker, cbCombineGiving
            };

            SetSelection(controls, string.Format("{0}|||||", ComparisonType.GreaterThanOrEqualTo.ConvertToInt().ToString()));

            return(controls);
        }
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            filterControl.Controls.Add(accountPicker);

            DateRangePicker dateRangePicker = new DateRangePicker();

            dateRangePicker.ID       = filterControl.ID + "_2";
            dateRangePicker.Label    = "Date Range";
            dateRangePicker.Required = true;
            filterControl.Controls.Add(dateRangePicker);

            var controls = new Control[2] {
                accountPicker, dateRangePicker
            };

            return(controls);
        }
示例#8
0
        /// <summary>
        /// Creates the child controls.
        /// </summary>
        /// <returns></returns>
        public override Control[] CreateChildControls(Type entityType, FilterField filterControl)
        {
            var comparisonControl = ComparisonHelper.ComparisonControl(ComparisonType.LessThan | ComparisonType.GreaterThanOrEqualTo | ComparisonType.EqualTo);

            comparisonControl.ID = filterControl.ID + "_comparisonControl";
            filterControl.Controls.Add(comparisonControl);

            var globalAttributes = GlobalAttributesCache.Get();

            CurrencyBox numberBoxAmount = new CurrencyBox();

            numberBoxAmount.ID    = filterControl.ID + "_numberBoxAmount";
            numberBoxAmount.Label = "Amount";

            filterControl.Controls.Add(numberBoxAmount);

            AccountPicker accountPicker = new AccountPicker();

            accountPicker.AllowMultiSelect = true;
            accountPicker.ID = filterControl.ID + "_accountPicker";
            accountPicker.AddCssClass("js-account-picker");
            accountPicker.Label = "Accounts";
            filterControl.Controls.Add(accountPicker);

            RockCheckBox cbIncludeChildAccounts = new RockCheckBox();

            cbIncludeChildAccounts.ID       = filterControl.ID + "_cbIncludeChildAccounts";
            cbIncludeChildAccounts.Text     = "Include Child Accounts";
            cbIncludeChildAccounts.CssClass = "js-include-child-accounts";
            filterControl.Controls.Add(cbIncludeChildAccounts);

            RockCheckBox cbIgnoreInactiveAccounts = new RockCheckBox();

            cbIgnoreInactiveAccounts.ID       = filterControl.ID + "_cbIgnoreInactiveAccounts";
            cbIgnoreInactiveAccounts.Text     = "Ignore Inactive Accounts";
            cbIgnoreInactiveAccounts.CssClass = "js-ignore-inactive-accounts";
            filterControl.Controls.Add(cbIgnoreInactiveAccounts);

            SlidingDateRangePicker slidingDateRangePicker = new SlidingDateRangePicker();

            slidingDateRangePicker.ID = filterControl.ID + "_slidingDateRangePicker";
            slidingDateRangePicker.AddCssClass("js-sliding-date-range");
            slidingDateRangePicker.Label    = "Date Range";
            slidingDateRangePicker.Help     = "The date range of the transactions using the transaction date of each transaction";
            slidingDateRangePicker.Required = true;
            filterControl.Controls.Add(slidingDateRangePicker);

            RockCheckBox cbCombineGiving = new RockCheckBox();

            cbCombineGiving.ID       = filterControl.ID + "_cbCombineGiving";
            cbCombineGiving.Label    = "Combine Giving";
            cbCombineGiving.CssClass = "js-combine-giving";
            cbCombineGiving.Help     = "Combine individuals in the same giving group when calculating totals and reporting the list of individuals.";
            filterControl.Controls.Add(cbCombineGiving);

            RockCheckBox cbUseAnalytics = new RockCheckBox();

            cbUseAnalytics.ID       = filterControl.ID + "_cbUseAnalytics";
            cbUseAnalytics.Label    = "Use Analytics Models";
            cbUseAnalytics.CssClass = "js-use-analytics";
            cbUseAnalytics.Help     = "Using Analytics Data might be faster than querying real-time data, but it may not include data that has been added or updated in the last 24 hours.";
            filterControl.Controls.Add(cbUseAnalytics);

            var controls = new Control[8] {
                comparisonControl, numberBoxAmount, accountPicker, cbIncludeChildAccounts, cbIgnoreInactiveAccounts, slidingDateRangePicker, cbCombineGiving, cbUseAnalytics
            };

            // set an initial config for the selection
            var selectionConfig = new SelectionConfig
            {
                ComparisonType = ComparisonType.GreaterThanOrEqualTo
            };

            SetSelection(entityType, controls, selectionConfig.ToJson());

            return(controls);
        }