Ejemplo n.º 1
0
        public ActionResult Search(HomeIndexModel model)
        {
            if (!ModelState.IsValid)
            {
                model.SelectedLogDatabase = GetSelectedConnectionStringName();
                model.OutputRowCount      = GetTopValue();
                model.LogDatabases.AddRange(LogDatabaseConnectionStrings.Select(css => new SelectListItem
                {
                    Text  = css.Name.Replace(LogDatabase.ConnectionStringPrefix, string.Empty),
                    Value = css.Name,
                }));

                return(View("Index", model));
            }

            var profiler = MiniProfiler.Current;

            using (profiler.Step("Getting logs from database"))
                using (var sqlConn = CreateProfiledDbConnection())
                {
                    var searchTerm = "%" + model.SearchTerm.Replace("%", "[%]").Replace("[", "[[]").Replace("]", "[]]") + "%";
                    model.Logs.AddRange(sqlConn.Query <Log>(GetSearchSql(GetTopValue()),
                                                            new { searchTerm }));
                }

            model.SelectedLogDatabase = GetSelectedConnectionStringName();
            model.OutputRowCount      = GetTopValue();
            model.LogDatabases.AddRange(LogDatabaseConnectionStrings.Select(css => new SelectListItem
            {
                Text  = css.Name.Replace(LogDatabase.ConnectionStringPrefix, string.Empty),
                Value = css.Name,
            }));

            return(View("Index", model));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            var model    = new HomeIndexModel();
            var profiler = MiniProfiler.Current;

            using (profiler.Step("Getting logs from database"))
                using (var sqlConn = CreateProfiledDbConnection())
                {
                    model.Logs.AddRange(sqlConn.Query <Log>("SELECT TOP 100 * FROM Log ORDER BY Id DESC"));
                }

            model.SelectedLogDatabase = GetSelectedConnectionStringName();
            model.LogDatabases.AddRange(LogDatabaseConnectionStrings.Select(css => new SelectListItem {
                Text = css.Name.Replace(LogDatabase.ConnectionStringPrefix, string.Empty), Value = css.Name
            }));

            return(View(model));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Index()
        {
            var model = new HomeIndexModel();

            using (MiniProfiler.Current.Step("Getting logs from database"))
                using (var conn = CreateProfiledDbConnection())
                {
                    model.Logs.AddRange(
                        await conn
                        .QueryAsync <Log>(DapperQueries.GetTop100Logs)
                        );
                }

            model.SelectedLogDatabase = GetSelectedConnectionStringName();

            var dbConnStrings = LogDatabaseConnectionStrings
                                .Select(css => new SelectListItem {
                Text = css.Name.ToFriendlyLogDatabaseName(), Value = css.Name
            });

            model.LogDatabases.AddRange(dbConnStrings);

            return(View(model));
        }