protected async Task <int> GetTotalPages( AlarmEventsQuery request, CancellationToken cancellationToken = default) { var alarmEventSpecification = this.GetAlarmEventSpecification(request); var totalAlarmSystems = await this.alarmEventQueryRepository.Total(alarmEventSpecification, cancellationToken); return((int)Math.Ceiling((double)totalAlarmSystems / AlarmEventsPerPage)); }
protected Task <IEnumerable <AlarmEvent> > GetAlarmEventListing( AlarmEventsQuery request, CancellationToken cancellationToken = default) { var alarmEventSpecification = this.GetAlarmEventSpecification(request); var skip = (request.Page - 1) * AlarmEventsPerPage; return(this.alarmEventQueryRepository.GetAlarmEventListings(alarmEventSpecification, skip, take: AlarmEventsPerPage, cancellationToken)); }
private Specification <AlarmEvent> GetAlarmEventSpecification(AlarmEventsQuery request) { return(new AlarmEventByStateSpecification(request.SystemId) .And(new AlarmEventByStateSpecification(request.State))); }