public static string GetUrlForSearch(SavedUserAssetSearch searchInfo)
        {
            AssetFinder finder = searchInfo.AssetFinder;

            StringBuilder sb = new StringBuilder();

            sb.Append("~/SearchRedirector.ashx?x=1");

            AppendSearchValue(sb, CATEGORY_ID, searchInfo.CurrentCategoryId);
            AppendSearchValue(sb, GENERAL_KEYWORD, finder.GeneralKeyword.Replace("&", " "));

            foreach (var ids in finder.MetadataIds)
            {//add all selected meta value ids for each meta under its
                //own param name
                foreach (var id in ids.Value)
                {
                    AppendSearchValue(sb, "md" + ids.Key, id);
                }
            }

            AppendSearchValue(sb, BRAND_ID, finder.BrandId);
            AppendSearchValue(sb, ASSET_TYPE_ID, finder.AssetTypeId);
            AppendSearchValue(sb, ORIENTATION_ID, m_OrientationDictionary[finder.Orientation]);

            ComplexCriteria criteria = finder.GetSingleComplexCriteria(Asset.Columns.FileSize);

            if (criteria != null)
            {
                sb.AppendFormat("&{0}={1}&{2}={3}", FILESIZE_COMPARETYPE, m_CompareTypeDictionary[criteria.CompareType], FILESIZE, criteria.Value);
            }

            criteria = finder.GetSingleComplexCriteria(Asset.Columns.ProductionMonth, CompareType.MoreThan);
            if (criteria != null)
            {
                sb.AppendFormat("&{0}={1}", FROM_PRODUCTION_MONTH, criteria.Value);
            }

            criteria = finder.GetSingleComplexCriteria(Asset.Columns.ProductionYear, CompareType.MoreThan);
            if (criteria != null)
            {
                sb.AppendFormat("&{0}={1}", FROM_PRODUCTION_YEAR, criteria.Value);
            }

            criteria = finder.GetSingleComplexCriteria(Asset.Columns.ProductionMonth, CompareType.LessThan);
            if (criteria != null)
            {
                sb.AppendFormat("&{0}={1}", TO_PRODUCTION_MONTH, criteria.Value);
            }

            criteria = finder.GetSingleComplexCriteria(Asset.Columns.ProductionYear, CompareType.LessThan);
            if (criteria != null)
            {
                sb.AppendFormat("&{0}={1}", TO_PRODUCTION_YEAR, criteria.Value);
            }

            sb.AppendFormat("&{0}={1}", PAGE, searchInfo.Page);
            sb.AppendFormat("&{0}={1}", PAGE_SIZE, searchInfo.PageSize);

            return(sb.ToString());
        }
        public void LoadFilterFromStoredValues(AssetFinder finder)
        {
            // load lists and dropdowns
            foreach (MetadataInputWrapper input in TemporaryMetaControlsPlaceHolder.Controls)
            {
                var ids = finder.GetMetadataIds(input.GroupNumber);
                input.SetSelection(ids);
            }

            IncludeUnpublishedExpiredAssets.Checked = finder.IncludeUnpublishedExpiredAssets;

            //Select filesize
            ComplexCriteria fileSizeCriteria = finder.GetSingleComplexCriteria(Asset.Columns.FileSize);

            if (fileSizeCriteria != null)
            {
                //Convert the entered filesize from bytes to megabytes by dividing it up (1024/1024)
                FileSizeTextBox.Text = ConvertFileSizeToUserInput(Convert.ToInt64(fileSizeCriteria.Value));

                ListItem fileSizeListItem = FileSizeDropDownList.Items.FindByValue(fileSizeCriteria.CompareType.ToString());
                if (fileSizeListItem != null)
                {
                    FileSizeDropDownList.SelectedIndex = -1;
                    FileSizeTextBox.Attributes.Remove("disabled");
                    fileSizeListItem.Selected = true;
                }
            }

            //Select production date dropdowns
            FromDayDropDownList.SafeSelectValue(finder.FromProductionDay);
            FromMonthDropDownList.SafeSelectValue(finder.FromProductionMonth);
            FromYearDropDownList.SafeSelectValue(finder.FromProductionYear);
            ToDayDropDownList.SafeSelectValue(finder.ToProductionDay);
            ToMonthDropDownList.SafeSelectValue(finder.ToProductionMonth);
            ToYearDropDownList.SafeSelectValue(finder.ToProductionYear);


            //Select orientation
            ListItem li = OrientationDropDownList.Items.FindByValue(finder.Orientation.ToString().ToLower());

            if (li != null)
            {
                OrientationDropDownList.SelectedIndex = -1;
                li.Selected = true;
            }
        }
        public void AddComplexCriteria(object field, object value, CompareType compareType)
        {
            ComplexCriteria cc = new ComplexCriteria(field.ToString(), value, compareType);

            m_ComplexCriteria.Add(cc);
        }