public ActionResult List(DataSourceRequest command, string searchValues, IEnumerable <Sort> sort = null)
        {
            var model = _httpContext.Session[SessionKey.AuditTrailSearchModel] as SearchModel;

            if (model == null)
            {
                model = BuildSearchModel();
            }
            else
            {
                model.ClearValues();
            }
            //validate
            var errorFilters = model.Validate(searchValues);

            foreach (var filter in errorFilters)
            {
                ModelState.AddModelError(filter.Name, _localizationService.GetResource(filter.ResourceKey + ".Required"));
            }
            if (ModelState.IsValid)
            {
                //session update
                model.Update(searchValues);
                _httpContext.Session[SessionKey.AuditTrailSearchModel] = model;

                PagedResult <AuditTrail> auditTrails = _auditTrailService.GetAuditTrails(model.ToExpression(), model.ToParameters(), command.Page - 1, command.PageSize, sort);
                var result = auditTrails.Result.ToList();

                var auditTrailModels = new List <AuditTrailModel>();
                foreach (var auditrail in result)
                {
                    var    auditTrailModel = auditrail.ToModel();
                    string logXml          = auditrail.LogXml;
                    var    auditLog        = AuditLog.FromXml(logXml);
                    auditTrailModel.UserName = auditLog.Username;
                    auditTrailModel.Date     = auditLog.Date;
                    auditTrailModels.Add(auditTrailModel);
                }

                var gridModel = new DataSourceResult
                {
                    Data  = auditTrailModels,
                    Total = auditTrails.TotalCount
                };
                return(new JsonResult
                {
                    Data = gridModel
                });
            }
            return(Json(new { Errors = ModelState.SerializeErrors() }));
        }
Пример #2
0
        public ActionResult Grid(GridParams gridParams)
        {
            var audit = _auditService.GetAuditTrails(new GetAuditTrailsRequest
            {
                Skip              = gridParams.DisplayStart,
                Take              = gridParams.DisplayLength,
                Search            = gridParams.Search,
                SortingDictionary = gridParams.SortingDictionary,
                StartDate         = string.IsNullOrEmpty(Request["StartDate"]) ? new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0) : DateTime.ParseExact(Request["StartDate"], "MM/dd/yyyy", CultureInfo.InvariantCulture),
                EndDate           = string.IsNullOrEmpty(Request["EndDate"]) ? new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59) : DateTime.ParseExact(Request["EndDate"], "MM/dd/yyyy", CultureInfo.InvariantCulture)
            });
            IList <AuditTrailsResponse.AuditTrail> datas = audit.AuditTrails;
            var data = new
            {
                sEcho = gridParams.Echo + 1,
                iTotalDisplayRecords = audit.TotalRecords,
                iTotalRecords        = audit.AuditTrails.Count,
                aaData = datas
            };

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
        public object GetAuditTrail(string fromDate = null, string toDate = null, string user = null, string userAction = null, string menu = null)
        {
            try
            {
                DateRangeModel date = new DateRangeModel();
                date.FromDate = string.IsNullOrEmpty(fromDate) == true ? DateTime.Now : DateTime.Parse(fromDate);
                date.ToDate   = string.IsNullOrEmpty(toDate) == true ? DateTime.Now : DateTime.Parse(toDate);
                if (userAction == "undefined")
                {
                    userAction = null;
                }
                if (menu == "undefined")
                {
                    menu = null;
                }
                return(auditTrailService.GetAuditTrails(date, user, userAction, menu));
            }

            catch (Exception ex)
            {
                return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
            }
        }