Exemplo n.º 1
0
        public LogViewModel GetAllByDateCountBest(DateTime date)
        {
            var model = new LogViewModel();

            model.LogFilterList = new List <LogViewModelFilter>();
            var query       = _logRepository.GetAll().Where(x => x.CreateDate.Date == date.Date).ToList();
            var filterQuery = query.ToList().GroupBy(x => x.RequestPath).OrderByDescending(x => x.Count());

            foreach (var item in filterQuery)
            {
                var logRowVM = new LogViewModelFilter();
                logRowVM.RequestPath = item.Key;
                logRowVM.Count       = item.Count();
                model.LogFilterList.Add(logRowVM);
            }

            return(model);
        }
Exemplo n.º 2
0
        public LogViewModel GetAll(LogViewModel detailedSearch)
        {
            //Filtreleme yapıldığında filtrelemeden önceki liste kaybolduğu için tekrar çağırdım.
            //var model = new LogViewModel();
            //model.LogList = new List<LogRowVM>();
            //var log = _logRepository.GetAll();
            //foreach (var item in log)
            //{
            //    var logRowVM = new LogRowVM();
            //    logRowVM.TraceIdentifier = item.TraceIdentifier;
            //    logRowVM.ResponseStatusCode = item.ResponseStatusCode;
            //    logRowVM.RequestMethod = item.RequestMethod;
            //    logRowVM.RequestPath = item.RequestPath;
            //    logRowVM.UserAgent = item.UserAgent;
            //    logRowVM.RoutePath = item.RoutePath;
            //    logRowVM.IPAddress = item.IPAddress;
            //    logRowVM.CreateDate = item.CreateDate;

            //    model.LogList.Add(logRowVM);

            //}

            var model = new LogViewModel();

            model.LogFilterList = new List <LogViewModelFilter>();

            DateTime?minDate;
            DateTime?maxDate;

            if (detailedSearch.DateOne.HasValue && detailedSearch.DateTwo.HasValue && detailedSearch.DateOne > detailedSearch.DateTwo)
            {
                minDate = detailedSearch.DateTwo;
                maxDate = detailedSearch.DateOne;
            }
            else
            {
                minDate = detailedSearch.DateOne;
                maxDate = detailedSearch.DateTwo;
            }

            var query = _logRepository.GetAll().Where(x => true);

            if (minDate.HasValue || maxDate.HasValue)
            {
                if (minDate.HasValue && maxDate == null)
                {
                    query = query.Where(x => x.CreateDate > minDate.Value);
                }
                else if (minDate == null && maxDate.HasValue)
                {
                    query = query.Where(x => x.CreateDate < maxDate.Value);
                }
                else
                {
                    query = query.Where(x => (x.CreateDate >= minDate.Value && x.CreateDate <= maxDate.Value));
                }
            }

            var filterQuery = query.ToList().GroupBy(x => x.RequestPath).OrderByDescending(x => x.Count()).Take(10);

            foreach (var item in filterQuery)
            {
                var logRowVM = new LogViewModelFilter();
                logRowVM.RequestPath = item.Key;
                logRowVM.Count       = item.Count();
                model.LogFilterList.Add(logRowVM);
            }



            return(model);
        }