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() })); }
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())); } }