public IEnumerable <LoginEventWrapper> GetLoginEventsByFilter(Guid userId, MessageAction action, ApiDateTime from, ApiDateTime to) { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); var startIndex = (int)Context.StartIndex; var limit = (int)Context.Count; Context.SetDataPaginated(); action = action == 0 ? MessageAction.None : action; if (!TenantExtra.GetTenantQuota().Audit || !SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { return(GetLastLoginEvents()); } else { DemandAuditPermission(); return(LoginEventsRepository.GetByFilter(userId, action, from, to, startIndex, limit).Select(x => new LoginEventWrapper(x))); } }
public IEnumerable <LoginEventWrapper> GetLastLoginEvents() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); DemandBaseAuditPermission(); return(LoginEventsRepository.GetByFilter(startIndex: 0, limit: 20).Select(x => new LoginEventWrapper(x))); }
public string CreateLoginHistoryReport() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); DemandAuditPermission(); var tenantId = TenantProvider.CurrentTenantID; var settings = TenantAuditSettings.LoadForTenant(tenantId); var to = DateTime.UtcNow; var from = to.Subtract(TimeSpan.FromDays(settings.LoginHistoryLifeTime)); var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".csv", from.ToShortDateString(), to.ToShortDateString()); var events = LoginEventsRepository.GetByFilter(from: from, to: to); var result = AuditReportCreator.CreateCsvReport(events, reportName); MessageService.Send(Request, MessageAction.LoginHistoryReportDownloaded); return(result); }