Пример #1
0
        /// <summary>
        /// 显示日志列表
        /// </summary>
        /// <returns></returns>
        public ActionResult LogList()
        {
            LogListModel model = new LogListModel();

            //判断Log文件夹是否存在,存在则执行下面的代码
            try
            {
                if (Directory.Exists(Server.MapPath(@"~\Log\")))
                {
                    //定义string类型数据来接收Log文件夹下的所有文件
                    string[]        files = Directory.GetFiles(Server.MapPath(@"~\Log\"));
                    List <FileInfo> fi    = new List <FileInfo>();
                    foreach (var file in files)
                    {
                        fi.Add(new FileInfo(file));
                    }
                    List <FileInfo> fio = fi.OrderByDescending(p => p.CreationTime).ToList();
                    foreach (var item in fio)
                    {
                        var log = new CISysLog {
                            Logname = item.Name, Logsize = System.Math.Round(Convert.ToDouble(item.Length) / 1024, 2).ToString() + "KB", Createtime = item.CreationTime.ToString()
                        };
                        model.Loglist.Add(log);
                    }
                }
                return(View(model));
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        public ActionResult Logs(Guid?applicationId, string level, string sortOrder, string sortBy, string serchMessage, int?page, int?pageSize)
        {
            LogListModel mm = new LogListModel()
            {
                ApplicationId = applicationId,
                Level         = level,
                SortOrder     = sortOrder,
                SortBy        = sortBy,
                SerchMessage  = serchMessage,
            };
            MembershipUser current = Membership.GetUser();

            mm.Apps = UserHelper.GetAppsForUser(current.UserName);
            mm.Apps.Insert(0, new ApplicationEntity()
            {
                ApplicationName = "All application"
            });


            mm.Items = LogHelper.GetLogs(mm.ApplicationId, mm.SortOrder, mm.SortBy, mm.SerchMessage, 30, page ?? 1);



            return(View(mm));
        }
Пример #3
0
        protected override object CreateListModel(IPagedList <Log> source, int pageSize)
        {
            List <LogListModel> result = new List <LogListModel>();

            foreach (Log item in source)
            {
                LogListModel listModel = new LogListModel()
                {
                    Id                = item.Id,
                    ShortMessage      = item.ShortMessage,
                    Level             = getLogLevelString(item.LogLevel),
                    EventTimeString   = item.CreatedOnUtc.Value.ToString("yyyy-MM-dd HH:mm:ss"),
                    EventSourceString = item.EventSource == 0 ? "接口" : "控制台"
                };
                result.Add(listModel);
            }
            var gridModel = new DataSourceResult <LogListModel>(pageSize)
            {
                Data      = result,
                Total     = source.TotalCount,
                PageCount = source.TotalPages
            };

            return(gridModel);
        }
        // GET: Logs
        public async Task <ActionResult> Index(string sort = "DESC", string category = "", string search = "")
        {
            var logs = await _logService.GetAll();

            if (sort == "ASC")
            {
                logs = logs.OrderBy(x => x.Date);
            }
            else
            {
                logs = logs.OrderByDescending(x => x.Date);
            }

            if (!category.IsNullOrWhiteSpace())
            {
                logs = logs.Where(x => x.Category == category);
            }

            if (!search.IsNullOrWhiteSpace())
            {
                search = search.ToLower();
                logs   = logs.Where(x => (x.Title?.ToLower().Contains(search) ?? false) || (x.Note?.ToLower().Contains(search) ?? false) || (x.FurtherNote?.Contains(search) ?? false));
            }

            var model = new LogListModel
            {
                Items    = logs,
                Sort     = sort,
                Category = category,
                Search   = search
            };

            return(View(model));
        }
Пример #5
0
        public virtual IActionResult LogList(LogSearchModel searchModel)
        {
            //prepare model
            LogListModel model = _logModelFactory.PrepareLogListModel(searchModel);

            return(Json(model));
        }
        public ActionResult GetList(LogListModel logModel)
        {
            long count  = 0;
            var  filter = log.GetLogFilter(logModel.From, logModel.To, logModel.ControllerName, logModel.ActionName, logModel.StartTime, logModel.EndTime, logModel.UserId, logModel.UserName, logModel.Exception);
            var  result = log.GetPageList(filter, null, null, logModel.Sorts, logModel.PageIndex, logModel.PageSize, ref count).ToJson().ReplaceJsonString();

            return(new ResponseModel <string>(ErrorCode.success, result, count));
        }
Пример #7
0
        public ActionResult List()
        {
            var model = new LogListModel();

            model.AvailableLogLevels = LogLevel.Debug.ToSelectList(false).ToList();

            return(View(model));
        }
Пример #8
0
        public ActionResult LogList(GridCommand command, LogListModel model)
        {
            var gridModel = new GridModel <LogModel>();

            if (_permissionService.Authorize(StandardPermissionProvider.ManageSystemLog))
            {
                DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                                        : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

                DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                                        : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

                LogLevel?logLevel = model.LogLevelId > 0 ? (LogLevel?)(model.LogLevelId) : null;

                var logItems = Logger.GetAllLogs(createdOnFromValue, createdToFromValue, model.Message,
                                                 logLevel, command.Page - 1, command.PageSize, model.MinFrequency);

                gridModel.Data = logItems.Select(x =>
                {
                    var logModel = new LogModel
                    {
                        Id            = x.Id,
                        LogLevelHint  = s_logLevelHintMap[x.LogLevel],
                        LogLevel      = x.LogLevel.GetLocalizedEnum(_localizationService, _workContext),
                        ShortMessage  = x.ShortMessage,
                        FullMessage   = x.FullMessage,
                        IpAddress     = x.IpAddress,
                        CustomerId    = x.CustomerId,
                        CustomerEmail = x.Customer != null ? x.Customer.Email : null,
                        PageUrl       = x.PageUrl,
                        ReferrerUrl   = x.ReferrerUrl,
                        CreatedOn     = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc),
                        Frequency     = x.Frequency,
                        ContentHash   = x.ContentHash
                    };

                    if (x.UpdatedOnUtc.HasValue)
                    {
                        logModel.UpdatedOn = _dateTimeHelper.ConvertToUserTime(x.UpdatedOnUtc.Value, DateTimeKind.Utc);
                    }

                    return(logModel);
                });

                gridModel.Total = logItems.TotalCount;
            }
            else
            {
                gridModel.Data = Enumerable.Empty <LogModel>();

                NotifyAccessDenied();
            }

            return(new JsonResult
            {
                Data = gridModel
            });
        }
Пример #9
0
        public ActionResult LogList(DataTablesParam dataTableParam, LogListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSystemLog))
            {
                return(AccessDeniedView());
            }

            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                            : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            LogLevel?logLevel = model.LogLevelId > 0 ? (LogLevel?)(model.LogLevelId) : null;


            var logItems = Logger.GetAllLogs(createdOnFromValue, createdToFromValue, model.Message,
                                             logLevel, dataTableParam.iDisplayStart / dataTableParam.iDisplayLength, dataTableParam.iDisplayLength, model.MinFrequency);

            var result = new DataTablesData
            {
                iTotalRecords        = logItems.TotalCount,
                iTotalDisplayRecords = logItems.TotalCount,
                sEcho  = dataTableParam.sEcho,
                aaData = logItems.Select(x =>
                {
                    var logModel = new LogModel()
                    {
                        Id           = x.Id,
                        LogLevelHint = s_logLevelHintMap[x.LogLevel],
                        LogLevel     = x.LogLevel.GetLocalizedEnum(_localizationService, _workContext),
                        ShortMessage = x.ShortMessage,
                        FullMessage  = x.FullMessage,
                        IpAddress    = x.IpAddress,
                        UserId       = x.UserId,
                        UserEmail    = x.User != null ? x.User.Email : null,
                        PageUrl      = x.PageUrl,
                        ReferrerUrl  = x.ReferrerUrl,
                        CreatedOn    = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc),
                        Frequency    = x.Frequency,
                        ContentHash  = x.ContentHash
                    };

                    if (x.UpdatedOnUtc.HasValue)
                    {
                        logModel.UpdatedOn = _dateTimeHelper.ConvertToUserTime(x.UpdatedOnUtc.Value, DateTimeKind.Utc);
                    }

                    return(logModel);
                }).Cast <object>().ToArray(),
            };

            return(new JsonResult
            {
                Data = result
            });
        }
Пример #10
0
        public ActionResult Index()
        {
            var model = new LogListModel
            {
                Logs = new List <LogEntityLight>()
            };

            return(View(model));
        }
Пример #11
0
        private void DetachModel()
        {
            if (_Model != null)
            {
                _Model.CollectionChanged -= Model_CollectionChanged;
                _Model = null;

                DGV.Items = null;
            }
        }
Пример #12
0
        public virtual LogListModel PrepareLogListModel()
        {
            var model = new LogListModel();

            model.AvailableLogLevels = LogLevel.Debug.ToSelectList(false).ToList();
            model.AvailableLogLevels.Insert(0, new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = " "
            });
            return(model);
        }
Пример #13
0
        /// <summary>
        /// Prepare paged log list model
        /// </summary>
        /// <param name="searchModel">Log search model</param>
        /// <returns>Log list model</returns>
        public virtual LogListModel PrepareLogListModel(LogSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter log
            var createdOnFromValue = searchModel.CreatedOnFrom.HasValue
                ? (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone) : null;
            var createdToFromValue = searchModel.CreatedOnTo.HasValue
                ? (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1) : null;
            var logLevel = searchModel.LogLevelId > 0 ? (LogLevel?)searchModel.LogLevelId : null;

            //get log
            var logItems = _logger.GetAllLogs(message: searchModel.Message,
                                              fromUtc: createdOnFromValue,
                                              toUtc: createdToFromValue,
                                              logLevel: logLevel,
                                              pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new LogListModel
            {
                //fill in model values from the entity
                Data = logItems.Select(logItem =>
                {
                    //fill in model values from the entity
                    var logModel = new LogModel
                    {
                        Id          = logItem.Id,
                        IpAddress   = logItem.IpAddress,
                        CustomerId  = logItem.CustomerId,
                        PageUrl     = logItem.PageUrl,
                        ReferrerUrl = logItem.ReferrerUrl
                    };

                    //little performance optimization: ensure that "FullMessage" is not returned
                    logModel.FullMessage = string.Empty;

                    //convert dates to the user time
                    logModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(logItem.CreatedOnUtc, DateTimeKind.Utc);

                    //fill in additional values (not existing in the entity)
                    logModel.CustomerEmail = logItem.Customer?.Email;
                    logModel.LogLevel      = _localizationService.GetLocalizedEnum(logItem.LogLevel);
                    logModel.ShortMessage  = HtmlHelper.FormatText(logItem.ShortMessage, false, true, false, false, false, false);

                    return(logModel);
                }),
                Total = logItems.TotalCount
            };

            return(model);
        }
        public IActionResult LogList(DataSourceRequest command, LogListModel model)
        {
            var logItems  = _logViewModelService.PrepareLogModel(model, command.Page, command.PageSize);
            var gridModel = new DataSourceResult
            {
                Data  = logItems.logModels.ToList(),
                Total = logItems.totalCount
            };

            return(Json(gridModel));
        }
Пример #15
0
        LogResult getLogCount(LogSection section, LogSeverity severity)
        {
            LogListModel logList = getLogList(section, severity);
            LogResult    res     = new LogResult();

            res.Section  = section;
            res.Severity = severity;
            res.Count    = logList.Items.Count;

            return(res);
        }
Пример #16
0
        public async Task <IActionResult> LogList(DataSourceRequest command, LogListModel model)
        {
            var(logModels, totalCount) = await _logViewModelService.PrepareLogModel(model, command.Page, command.PageSize);

            var gridModel = new DataSourceResult
            {
                Data  = logModels.ToList(),
                Total = totalCount
            };

            return(Json(gridModel));
        }
Пример #17
0
        private void DetachModel()
        {
            if (_Model != null)
            {
                _Model.CollectionChanged    -= Model_CollectionChanged;
                _Model.RowPropertiesChanged -= Model_RowPropertiesChanged;
                _Model = null;

                _DGVRows.Clear();
                //DGV.Items = null;
            }
        }
Пример #18
0
        public ActionResult LogList(GridCommand command, LogListModel model)
        {
            var gridModel = new GridModel <LogModel>();

            DateTime?createdOnFromValue = (model.CreatedOnFrom == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?createdToFromValue = (model.CreatedOnTo == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1);

            LogLevel?logLevel = model.LogLevelId > 0 ? (LogLevel?)(model.LogLevelId) : null;

            var logItems = _logService.GetAllLogs(
                createdOnFromValue,
                createdToFromValue,
                model.Logger,
                model.Message,
                logLevel,
                command.Page - 1,
                command.PageSize);

            gridModel.Data = logItems.Select(x =>
            {
                var logModel = new LogModel
                {
                    Id            = x.Id,
                    LogLevelHint  = s_logLevelHintMap[x.LogLevel],
                    LogLevel      = x.LogLevel.GetLocalizedEnum(_localizationService, _workContext),
                    ShortMessage  = x.ShortMessage,
                    FullMessage   = x.FullMessage,
                    IpAddress     = x.IpAddress,
                    CustomerId    = x.CustomerId,
                    CustomerEmail = x.Customer?.Email,
                    PageUrl       = x.PageUrl,
                    ReferrerUrl   = x.ReferrerUrl,
                    CreatedOn     = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc),
                    Logger        = x.Logger,
                    LoggerShort   = TruncateLoggerName(x.Logger),
                    HttpMethod    = x.HttpMethod,
                    UserName      = x.UserName
                };

                return(logModel);
            });

            gridModel.Total = logItems.TotalCount;

            return(new JsonResult
            {
                Data = gridModel
            });
        }
Пример #19
0
        internal void SetModel(LogListModel model)
        {
            DetachModel();

            if (model != null)
            {
                _Model = model;
                _Model.CollectionChanged -= Model_CollectionChanged;
                _Model.CollectionChanged += Model_CollectionChanged;
            }

            SetDataGridItems();
        }
Пример #20
0
        public ActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSystemLog))
            {
                return(AccessDeniedView());
            }

            var model = new LogListModel();

            model.AvailableLogLevels = LogLevel.Debug.ToSelectList(false).ToList();

            return(View(model));
        }
Пример #21
0
        public ActionResult NoSQLAccess(Guid?SelectedApp, string TextToSearch, int?page)
        {
            Stopwatch pageTime = new Stopwatch();

            pageTime.Start();
            LogListModel model = new LogListModel();

            model.App.AddRange((new NoSQLAppRepository()).GetAll().OrderBy(x => x.Name));
            model.Logs = new NoSQLLogRepository().Search(SelectedApp, TextToSearch, page ?? 1, 10);
            pageTime.Stop();
            model.PaginationTime = pageTime.ElapsedMilliseconds;

            return(View(model));
        }
Пример #22
0
        public ActionResult LogList(DataSourceRequest command, LogListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSystemLog))
            {
                return(AccessDeniedView());
            }

            var createdOnFromValue = (model.CreatedOnFrom == null)
                ? null
                : (DateTime?)
                                     _dateTimeHelper.ConvertToUtcTime(model.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone);

            var createdToFromValue = (model.CreatedOnTo == null)
                ? null
                : (DateTime?)
                                     _dateTimeHelper.ConvertToUtcTime(model.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone)
                                     .AddDays(1);

            var logLevel = model.LogLevelId > 0 ? (LogLevel?)(model.LogLevelId) : null;


            var logItems = _logger.GetAllLogs(createdOnFromValue, createdToFromValue, model.Message,
                                              logLevel, command.Page - 1, command.PageSize);
            var gridModel = new DataSourceResult
            {
                Data = logItems.Select(x => new LogModel
                {
                    Id           = x.Id,
                    LogLevel     = x.LogLevel.GetLocalizedEnum(_localizationService, _workContext),
                    ShortMessage = x.ShortMessage,
                    //little hack here:
                    //ensure that FullMessage is not returned
                    //otherwise, we can get the following error if log records have too long FullMessage:
                    //"Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property. "
                    //also it improves performance
                    //FullMessage = x.FullMessage,
                    FullMessage   = "",
                    IpAddress     = x.IpAddress,
                    CustomerId    = x.CustomerId,
                    CustomerEmail = x.Customer != null ? x.Customer.Email : null,
                    PageUrl       = x.PageUrl,
                    ReferrerUrl   = x.ReferrerUrl,
                    CreatedOn     = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc)
                }),
                Total = logItems.TotalCount
            };

            return(Json(gridModel));
        }
Пример #23
0
        private LogListModel GetListData()
        {
            var root = Server.MapPath(@"~\logs");

            var model = new LogListModel
            {
                Root  = root,
                Files = _htmllogfileHtmlselectTeamQuery.Handle(new GetLogFileHtmlSelectQuery {
                    Root = root, HtmlSelectOption = HtmlSelectOption.None
                }),
                noInfoLevel = false
            };

            return(model);
        }
Пример #24
0
        public AddNewDownloadForm(DownloadController dc, SettingsPropertyChangeController sc, string m3u8FileUrl, string additionalTitle = null) : this()
        {
            _Settings          = sc.Settings;
            _DownloadListModel = dc?.Model;

            this.M3u8FileUrl     = m3u8FileUrl;
            this.OutputDirectory = _Settings.OutputFileDirectory;

            _Model = new LogListModel();
            logUC.SetModel(_Model);
            logUC.SetSettingsController(sc);
            statusBarUC.SetDownloadController(dc);
            statusBarUC.SetSettingsController(sc);

            this.Text += additionalTitle;
        }
Пример #25
0
        public IActionResult GetLogsForDevice(int deviceId)
        {
            var result = new LogListModel();
            var logs   = this.unitOfWork.LogEntityRepository.GetLogsByDeviceId(deviceId);

            try
            {
                result.Logs = logs.Select(x => x.Comments).ToList();
            }
            catch
            {
                return(Ok("No logs for current device"));
            }

            return(Ok(result));
        }
Пример #26
0
        public virtual IActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageSystemLog))
            {
                return(AccessDeniedView());
            }

            var model = new LogListModel();

            model.AvailableLogLevels = LogLevel.Debug.ToSelectList(false).ToList();
            model.AvailableLogLevels.Insert(0, new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "0"
            });

            return(View(model));
        }
Пример #27
0
        public virtual ActionResult List()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(AccessDeniedView());
            }

            var model = new LogListModel();

            model.AvailableLogLevels = LogLevel.Debug.ToSelectList(false).ToList();
            model.AvailableLogLevels.Insert(0, new SelectListItem {
                Text = "All", Value = "0"
            });

            return(View(model));
        }
Пример #28
0
        /// <summary>
        /// Prepare paged log list model
        /// </summary>
        /// <param name="searchModel">Log search model</param>
        /// <returns>Log list model</returns>
        public virtual LogListModel PrepareLogListModel(LogSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter log
            var createdOnFromValue = searchModel.CreatedOnFrom.HasValue
                ? (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnFrom.Value, _dateTimeHelper.CurrentTimeZone) : null;
            var createdToFromValue = searchModel.CreatedOnTo.HasValue
                ? (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1) : null;
            var logLevel = searchModel.LogLevelId > 0 ? (LogLevel?)searchModel.LogLevelId : null;

            //get log
            var logItems = _logger.GetAllLogs(message: searchModel.Message,
                                              fromUtc: createdOnFromValue,
                                              toUtc: createdToFromValue,
                                              logLevel: logLevel,
                                              pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new LogListModel().PrepareToGrid(searchModel, logItems, () =>
            {
                //fill in model values from the entity
                return(logItems.Select(logItem =>
                {
                    //fill in model values from the entity
                    var logModel = logItem.ToModel <LogModel>();

                    //convert dates to the user time
                    logModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(logItem.CreatedOnUtc, DateTimeKind.Utc);

                    //fill in additional values (not existing in the entity)
                    logModel.LogLevel = _localizationService.GetLocalizedEnum(logItem.LogLevel);
                    logModel.ShortMessage = HtmlHelper.FormatText(logItem.ShortMessage, false, true, false, false, false, false);
                    logModel.FullMessage = string.Empty;
                    logModel.CustomerEmail = _customerService.GetCustomerById(logItem.CustomerId ?? 0)?.Email ?? string.Empty;

                    return logModel;
                }));
            });

            return(model);
        }
Пример #29
0
        /// <summary>
        /// Prepare paged log list model
        /// </summary>
        /// <param name="searchModel">Log search model</param>
        /// <returns>Log list model</returns>
        public virtual LogListModel PrepareLogListModel(LogSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter log
            var createdOnFromValue = searchModel.CreatedOnFrom.HasValue
                ? (DateTime?)searchModel.CreatedOnFrom.Value : null;
            var createdToFromValue = searchModel.CreatedOnTo.HasValue
                ? (DateTime?)searchModel.CreatedOnTo.Value : null;
            var logLevel = searchModel.LogLevelId > 0 ? (LogLevel?)searchModel.LogLevelId : null;

            //get log
            var logItems = _logger.GetAllLogs(message: searchModel.Message,
                                              fromUtc: createdOnFromValue,
                                              toUtc: createdToFromValue,
                                              logLevel: logLevel,
                                              pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new LogListModel().PrepareToGrid(searchModel, logItems, () =>
            {
                //fill in model values from the entity
                return(logItems.Select(logItem =>
                {
                    //fill in model values from the entity
                    var logModel = logItem.ToModel <LogModel>();

                    //convert dates to the user time
                    logModel.CreatedOn = logItem.CreatedOnUtc;

                    //fill in additional values (not existing in the entity)
                    logModel.LogLevel = logItem.LogLevel.ToString();
                    logModel.ShortMessage = logItem.ShortMessage;
                    logModel.FullMessage = string.Empty;
                    logModel.UserEmail = logItem.User?.Email ?? string.Empty;

                    return logModel;
                }));
            });

            return(model);
        }
Пример #30
0
        public async Task <LogListModel> PrepareLogListModel(LogSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get parameters to filter log
            var createdOnFromValue = searchModel.CreatedOnFrom.HasValue
                ? (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.CreatedOnFrom.Value,
                                                              _dateTimeHelper.CurrentTimeZone)
                : null;
            var createdToFromValue = searchModel.CreatedOnTo.HasValue
                ? (DateTime?)_dateTimeHelper
                                     .ConvertToUtcTime(searchModel.CreatedOnTo.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1)
                : null;
            var logLevel = searchModel.LogLevelId > 0 ? (LogLevel?)searchModel.LogLevelId : null;

            var logItems = await _logger.GetAllLogs(message : searchModel.Message,
                                                    fromUtc : createdOnFromValue,
                                                    toUtc : createdToFromValue,
                                                    logLevel : logLevel,
                                                    pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize);

            //prepare list model
            var model = new LogListModel
            {
                Data = logItems.Select(logItem =>
                {
                    var logModel = logItem.ToModel <LogModel>();

                    logModel.CreatedOn    = _dateTimeHelper.ConvertToUserTime(logItem.CreatedOnUtc, DateTimeKind.Utc);
                    logModel.LogLevel     = CommonHelper.ConvertEnum(logItem.LogLevel.ToString());
                    logModel.ShortMessage = HtmlHelper.FormatText(logItem.ShortMessage, false, true, false, false, false, false);
                    logModel.FullMessage  = string.Empty;
                    logModel.UserEmail    = logItem.User?.Email ?? string.Empty;

                    return(logModel);
                }),
                Total = logItems.TotalCount
            };

            return(model);
        }