public override void Execute()
        {
            #line 7 "..\..\Signum\Views\SearchControl.cshtml"

            Model.ReadOnly = false; /*SearchControls Context should never inherit Readonly property of parent context */
            FindOptions      findOptions      = (FindOptions)ViewData[ViewDataKeys.FindOptions];
            QueryDescription queryDescription = (QueryDescription)ViewData[ViewDataKeys.QueryDescription];
            var             entityColumn      = queryDescription.Columns.SingleEx(a => a.IsEntity);
            Type            entitiesType      = Lite.Extract(entityColumn.Type);
            Implementations implementations   = entityColumn.Implementations.Value;
            var             settings          = Finder.QuerySettings(findOptions.QueryName);
            findOptions.Pagination             = findOptions.Pagination ?? settings.Pagination ?? FindOptions.DefaultPagination;
            ViewData[ViewDataKeys.FindOptions] = findOptions;

            var sfb = settings.SimpleFilterBuilder == null ? null :
                      settings.SimpleFilterBuilder(Html, Model, queryDescription, findOptions);

            var prefix = Model.Compose("sfSearchControl");


            #line default
            #line hidden
            WriteLiteral("\r\n<div");

            WriteAttribute("id", Tuple.Create(" id=\"", 1121), Tuple.Create("\"", 1133)

            #line 23 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 1126), Tuple.Create <System.Object, System.Int32>(prefix

            #line default
            #line hidden
                                                                                                             , 1126), false)
                           );

            WriteLiteral(" \r\n     class=\"sf-search-control SF-control-container\"");

            WriteLiteral(" \r\n     data-prefix=\"");


            #line 25 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Prefix);


            #line default
            #line hidden
            WriteLiteral("\"");

            WriteLiteral(" \r\n     data-find-url=\"");


            #line 26 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Finder.FindRoute(findOptions.QueryName));


            #line default
            #line hidden
            WriteLiteral("\"");

            WriteLiteral(" \r\n     data-queryName=\"");


            #line 27 "..\..\Signum\Views\SearchControl.cshtml"
            Write(QueryUtils.GetQueryUniqueKey(findOptions.QueryName));


            #line default
            #line hidden
            WriteLiteral("\"");

            WriteLiteral(" \r\n     >\r\n");


            #line 29 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 29 "..\..\Signum\Views\SearchControl.cshtml"
            if (sfb != null)
            {
                findOptions.ShowFilters = false;


            #line default
            #line hidden
                WriteLiteral("        <div");

                WriteAttribute("id", Tuple.Create(" id=\"", 1459), Tuple.Create("\"", 1500)

            #line 32 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 1464), Tuple.Create <System.Object, System.Int32>(Model.Compose("simpleFilerBuilder")

            #line default
            #line hidden
                                                                                                                 , 1464), false)
                               );

                WriteLiteral(" class=\"form-horizontal\"");

                WriteLiteral(">\r\n");

                WriteLiteral("            ");


            #line 33 "..\..\Signum\Views\SearchControl.cshtml"
                Write(sfb.Control);


            #line default
            #line hidden
                WriteLiteral("\r\n        </div>\r\n");


            #line 35 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("\r\n");


            #line 37 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 37 "..\..\Signum\Views\SearchControl.cshtml"

            bool filtersAlwaysHidden = !findOptions.ShowHeader || !findOptions.ShowFilters && !findOptions.ShowFilterButton;


            #line default
            #line hidden
            WriteLiteral("\r\n\r\n    <div");

            WriteAttribute("style", Tuple.Create(" style=\"", 1726), Tuple.Create("\"", 1783)
                           , Tuple.Create(Tuple.Create("", 1734), Tuple.Create("display:", 1734), true)

            #line 41 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 1742), Tuple.Create <System.Object, System.Int32>(filtersAlwaysHidden ? "none" : "block"

            #line default
            #line hidden
                                                                                                             , 1742), false)
                           );

            WriteLiteral(">\r\n");


            #line 42 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 42 "..\..\Signum\Views\SearchControl.cshtml"

            ViewData[ViewDataKeys.FilterOptions]  = findOptions.FilterOptions;
            ViewData[ViewDataKeys.FiltersVisible] = findOptions.ShowFilters;
            ViewData[ViewDataKeys.ShowAddColumn]  = string.IsNullOrEmpty(Model.Prefix) && findOptions.AllowChangeColumns;
            Html.RenderPartial(Finder.Manager.FilterBuilderView);


            #line default
            #line hidden
            WriteLiteral("\r\n    </div>\r\n\r\n\r\n\r\n\r\n    <div");

            WriteLiteral(" class=\"sf-query-button-bar\"");

            WriteAttribute("style", Tuple.Create(" style=\"", 2213), Tuple.Create("\"", 2270)

            #line 53 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 2221), Tuple.Create <System.Object, System.Int32>(findOptions.ShowHeader ? null : "display:none"

            #line default
            #line hidden
                                                                                                             , 2221), false)
                           );

            WriteLiteral(">\r\n");


            #line 54 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 54 "..\..\Signum\Views\SearchControl.cshtml"
            if (!filtersAlwaysHidden)
            {
            #line default
            #line hidden
                WriteLiteral("            <a");

                WriteAttribute("class", Tuple.Create("  class=\"", 2335), Tuple.Create("\"", 2436)
                               , Tuple.Create(Tuple.Create("", 2344), Tuple.Create("sf-query-button", 2344), true)
                               , Tuple.Create(Tuple.Create(" ", 2359), Tuple.Create("sf-filters-header", 2360), true)
                               , Tuple.Create(Tuple.Create(" ", 2377), Tuple.Create("btn", 2378), true)
                               , Tuple.Create(Tuple.Create(" ", 2381), Tuple.Create("btn-default", 2382), true)

            #line 56 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create(" ", 2393), Tuple.Create <System.Object, System.Int32>(findOptions.ShowFilters ? "active" : ""

            #line default
            #line hidden
                                                                                                                  , 2394), false)
                               );

                WriteAttribute("onclick", Tuple.Create("\r\n            onclick=\"", 2437), Tuple.Create("\"", 2512)

            #line 57 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 2460), Tuple.Create <System.Object, System.Int32>(JsFunction.SFControlThen(prefix, "toggleFilters()")

            #line default
            #line hidden
                                                                                                                 , 2460), false)
                               );

                WriteAttribute("title", Tuple.Create("\r\n            title=\"", 2513), Tuple.Create("\"", 2654)

            #line 58 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 2534), Tuple.Create <System.Object, System.Int32>(findOptions.ShowFilters ? JavascriptMessage.hideFilters.NiceToString() : JavascriptMessage.showFilters.NiceToString()

            #line default
            #line hidden
                                                                                                                 , 2534), false)
                               );

                WriteLiteral(">\r\n                <span");

                WriteLiteral(" class=\"glyphicon glyphicon glyphicon-filter\"");

                WriteLiteral("></span>\r\n            </a>\r\n");


            #line 61 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("        <button");

            WriteLiteral(" type=\"button\"");

            WriteLiteral(" class=\"sf-query-button sf-search btn btn-primary\"");

            WriteAttribute("id", Tuple.Create(" id=\"", 2842), Tuple.Create("\"", 2873)

            #line 62 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 2847), Tuple.Create <System.Object, System.Int32>(Model.Compose("qbSearch")

            #line default
            #line hidden
                                                                                                             , 2847), false)
                           );

            WriteLiteral(">");


            #line 62 "..\..\Signum\Views\SearchControl.cshtml"
            Write(SearchMessage.Search.NiceToString());


            #line default
            #line hidden
            WriteLiteral("</button>\r\n        <script");

            WriteLiteral(" type=\"text/javascript\"");

            WriteLiteral(">\r\n            $(\"#");


            #line 64 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Compose("qbSearch"));


            #line default
            #line hidden
            WriteLiteral("\").click(function(e){ $(\"#");


            #line 64 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Compose("sfSearchControl"));


            #line default
            #line hidden
            WriteLiteral("\").SFControl().then(function(c){c.search();}) });\r\n            $(\"#");


            #line 65 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Compose("tblFilterBuilder"));


            #line default
            #line hidden
            WriteLiteral("\").keyup(function(e){ if (e.which == 13) { $(\"#");


            #line 65 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Compose("qbSearch"));


            #line default
            #line hidden
            WriteLiteral("\").click(); } });\r\n        </script>\r\n\r\n");


            #line 68 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 68 "..\..\Signum\Views\SearchControl.cshtml"
            if (findOptions.Create)
            {
            #line default
            #line hidden
                WriteLiteral("            <a");

                WriteLiteral(" class=\"sf-query-button btn btn-default sf-line-button sf-create\"");

                WriteAttribute("id", Tuple.Create(" id=\"", 3402), Tuple.Create("\"", 3439)

            #line 70 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 3407), Tuple.Create <System.Object, System.Int32>(Model.Compose("qbSearchCreate")

            #line default
            #line hidden
                                                                                                                 , 3407), false)
                               );

                WriteAttribute("title", Tuple.Create(" title=\"", 3440), Tuple.Create("\"", 3604)

            #line 70 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 3448), Tuple.Create <System.Object, System.Int32>(SearchMessage.CreateNew0_G.NiceToString().ForGenderAndNumber().FormatWith(implementations.IsByAll ? "?" : implementations.Types.CommaOr(a => a.NiceName()))

            #line default
            #line hidden
                                                                                                                 , 3448), false)
                               );

                WriteAttribute("onclick", Tuple.Create(" onclick=\"", 3605), Tuple.Create("\"", 3671)

            #line 70 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 3615), Tuple.Create <System.Object, System.Int32>(JsFunction.SFControlThen(prefix, "create_click(event)")

            #line default
            #line hidden
                                                                                                                 , 3615), false)
                               );

                WriteLiteral(">\r\n                <span");

                WriteLiteral(" class=\"glyphicon glyphicon-plus\"");

                WriteLiteral("></span>\r\n            </a>\r\n");


            #line 73 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("\r\n");


            #line 75 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 75 "..\..\Signum\Views\SearchControl.cshtml"
            if (findOptions.ShowContextMenu)
            {
            #line default
            #line hidden
                WriteLiteral("            <div");

                WriteLiteral(" class=\"btn-group\"");

                WriteLiteral(">\r\n                <button");

                WriteLiteral(" class=\"sf-query-button sf-tm-selected btn btn-default dropdown-toggle\"");

                WriteLiteral(" data-toggle=\"dropdown\"");

                WriteAttribute("id", Tuple.Create(" id=\"", 3980), Tuple.Create("\"", 4014)

            #line 79 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 3985), Tuple.Create <System.Object, System.Int32>(Model.Compose("btnSelected")

            #line default
            #line hidden
                                                                                                                 , 3985), false)
                               );

                WriteLiteral(" disabled=\"disabled\"");

                WriteLiteral(">\r\n");

                WriteLiteral("                    ");


            #line 80 "..\..\Signum\Views\SearchControl.cshtml"
                Write(JavascriptMessage.Selected);


            #line default
            #line hidden
                WriteLiteral("\r\n                    (<span");

                WriteAttribute("id", Tuple.Create(" id=\"", 4113), Tuple.Create("\"", 4151)

            #line 81 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 4118), Tuple.Create <System.Object, System.Int32>(Model.Compose("btnSelectedSpan")

            #line default
            #line hidden
                                                                                                                 , 4118), false)
                               );

                WriteLiteral(">0</span>)\r\n                <span");

                WriteLiteral(" class=\"caret\"");

                WriteLiteral("></span>\r\n                </button>\r\n                <ul");

                WriteLiteral(" class=\"dropdown-menu\"");

                WriteAttribute("id", Tuple.Create(" id=\"", 4277), Tuple.Create("\"", 4319)

            #line 84 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 4282), Tuple.Create <System.Object, System.Int32>(Model.Compose("btnSelectedDropDown")

            #line default
            #line hidden
                                                                                                                 , 4282), false)
                               );

                WriteLiteral(">\r\n                    <li>Error: DropDown not initialized</li>\r\n                " +
                             "</ul>\r\n            </div>\r\n");


            #line 88 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("\r\n");

            WriteLiteral("        ");


            #line 90 "..\..\Signum\Views\SearchControl.cshtml"
            Write(ButtonBarQueryHelper.GetButtonBarElementsForQuery(new QueryButtonContext
            {
                Url = Url,
                ControllerContext  = this.ViewContext,
                QueryName          = findOptions.QueryName,
                ManualQueryButtons = (ToolBarButton[])ViewData[ViewDataKeys.ManualToolbarButtons],
                EntityType         = entitiesType,
                Prefix             = Model.Prefix
            }).ToStringButton(Html));


            #line default
            #line hidden
            WriteLiteral("\r\n\r\n");


            #line 100 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 100 "..\..\Signum\Views\SearchControl.cshtml"
            if ((bool?)ViewData[ViewDataKeys.AvoidFullScreenButton] != true)
            {
            #line default
            #line hidden
                WriteLiteral("             <a");

                WriteAttribute("id", Tuple.Create(" id=\"", 4958), Tuple.Create("\"", 4993)

            #line 102 "..\..\Signum\Views\SearchControl.cshtml"
                               , Tuple.Create(Tuple.Create("", 4963), Tuple.Create <System.Object, System.Int32>(Model.Compose("sfFullScreen")

            #line default
            #line hidden
                                                                                                                 , 4963), false)
                               );

                WriteLiteral(" class=\"sf-query-button btn btn-default\"");

                WriteLiteral(" href=\"#\"");

                WriteLiteral(">\r\n                <span");

                WriteLiteral(" class=\"glyphicon glyphicon-new-window\"");

                WriteLiteral("></span>\r\n            </a>\r\n");


            #line 105 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("\r\n    </div>\r\n    <div");

            WriteAttribute("id", Tuple.Create(" id=\"", 5167), Tuple.Create("\"", 5200)

            #line 108 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 5172), Tuple.Create <System.Object, System.Int32>(Model.Compose("divResults")

            #line default
            #line hidden
                                                                                                             , 5172), false)
                           );

            WriteLiteral(" class=\"sf-search-results-container table-responsive\"");

            WriteLiteral(">\r\n        <table");

            WriteAttribute("id", Tuple.Create(" id=\"", 5271), Tuple.Create("\"", 5304)

            #line 109 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 5276), Tuple.Create <System.Object, System.Int32>(Model.Compose("tblResults")

            #line default
            #line hidden
                                                                                                             , 5276), false)
                           );

            WriteLiteral(" class=\"sf-search-results  table table-hover  table-condensed\"");

            WriteLiteral(">\r\n            <thead>\r\n                <tr>\r\n");


            #line 112 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 112 "..\..\Signum\Views\SearchControl.cshtml"
            if (findOptions.AllowSelection)
            {
            #line default
            #line hidden
                WriteLiteral("                        <th");

                WriteLiteral(" class=\"sf-th-selection\"");

                WriteLiteral(">\r\n");

                WriteLiteral("                            ");


            #line 115 "..\..\Signum\Views\SearchControl.cshtml"
                Write(Html.CheckBox(Model.Compose("cbSelectAll"), false, new { onclick = JsFunction.SFControlThen(prefix, "toggleSelectAll()") }));


            #line default
            #line hidden
                WriteLiteral("\r\n                        </th>\r\n");


            #line 117 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("                    ");


            #line 118 "..\..\Signum\Views\SearchControl.cshtml"
            if (findOptions.Navigate)
            {
            #line default
            #line hidden
                WriteLiteral("                        <th");

                WriteLiteral(" class=\"sf-th-entity\"");

                WriteLiteral("></th>\r\n");


            #line 121 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("                    ");


            #line 122 "..\..\Signum\Views\SearchControl.cshtml"
            List <Column> columns = findOptions.MergeColumns();

            #line default
            #line hidden
            WriteLiteral("\r\n");


            #line 123 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 123 "..\..\Signum\Views\SearchControl.cshtml"
            foreach (var col in columns)
            {
                var       order     = findOptions.OrderOptions.FirstOrDefault(oo => oo.Token.FullKey() == col.Name);
                OrderType?orderType = null;
                if (order != null)
                {
                    orderType = order.OrderType;
                }


            #line default
            #line hidden

            #line 131 "..\..\Signum\Views\SearchControl.cshtml"
                Write(SearchControlHelper.Header(col, orderType));


            #line default
            #line hidden

            #line 131 "..\..\Signum\Views\SearchControl.cshtml"
            }


            #line default
            #line hidden
            WriteLiteral("                </tr>\r\n            </thead>\r\n            <tbody>\r\n");


            #line 136 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 136 "..\..\Signum\Views\SearchControl.cshtml"
            int columnsCount = columns.Count + (findOptions.Navigate ? 1 : 0) + (findOptions.AllowSelection ? 1 : 0);

            #line default
            #line hidden
            WriteLiteral("\r\n                <tr>\r\n                    <td");

            WriteAttribute("colspan", Tuple.Create(" colspan=\"", 6709), Tuple.Create("\"", 6732)

            #line 138 "..\..\Signum\Views\SearchControl.cshtml"
                           , Tuple.Create(Tuple.Create("", 6719), Tuple.Create <System.Object, System.Int32>(columnsCount

            #line default
            #line hidden
                                                                                                             , 6719), false)
                           );

            WriteLiteral(">");


            #line 138 "..\..\Signum\Views\SearchControl.cshtml"
            Write(JavascriptMessage.searchForResults.NiceToString());


            #line default
            #line hidden
            WriteLiteral("</td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r" +
                         "\n\r\n");


            #line 144 "..\..\Signum\Views\SearchControl.cshtml"


            #line default
            #line hidden

            #line 144 "..\..\Signum\Views\SearchControl.cshtml"

            ViewData[ViewDataKeys.ShowFooter] = findOptions.ShowFooter;
            ViewData[ViewDataKeys.Pagination] = findOptions.Pagination;


            #line default
            #line hidden

            #line 147 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Html.Partial(Finder.Manager.PaginationSelectorView, Model));


            #line default
            #line hidden

            #line 147 "..\..\Signum\Views\SearchControl.cshtml"



            #line default
            #line hidden
            WriteLiteral("\r\n</div>\r\n<script");

            WriteLiteral(" type=\"text/javascript\"");

            WriteLiteral(">\r\n    require([\"");


            #line 151 "..\..\Signum\Views\SearchControl.cshtml"
            Write(JsModule.Finder);


            #line default
            #line hidden
            WriteLiteral("\"], function(Finder) { new Finder.SearchControl($(\"#");


            #line 151 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Model.Compose("sfSearchControl"));


            #line default
            #line hidden
            WriteLiteral("\"),\r\n");

            WriteLiteral("        ");


            #line 152 "..\..\Signum\Views\SearchControl.cshtml"
            Write(MvcHtmlString.Create(findOptions.ToJS(Model.Prefix).ToString()));


            #line default
            #line hidden
            WriteLiteral(",\r\n");

            WriteLiteral("        ");


            #line 153 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Html.Json(implementations.ToJsTypeInfos(isSearch: true, prefix: prefix)));


            #line default
            #line hidden
            WriteLiteral(",\r\n");

            WriteLiteral("        ");


            #line 154 "..\..\Signum\Views\SearchControl.cshtml"
            Write(Html.Json(sfb == null ? null : sfb.Url));


            #line default
            #line hidden
            WriteLiteral(").ready();});\r\n</script>\r\n");
        }