public async Task <int> DeleteLogsAsync(DeleteLogsFilterDto filter) { var startDate = filter.StartDate?.ToUniversalTime(); var endDate = filter.EndDate?.ToUniversalTime(); var where = new List <Expression <Func <LogItem, bool> > >(); where.Add(x => x.AppName == _options.AppName); where.AddIfTrue(startDate.HasValue, x => startDate <= x.DateCreated); where.AddIfTrue(endDate.HasValue, x => x.DateCreated <= endDate); where.AddIfTrue(filter.LogType.HasValue, x => filter.LogType == x.LogType); var queryable = GetMany(x => true); queryable = where.Aggregate(queryable, (current, expression) => current.Where(expression)); var deletedNumber = BulkDelete(await queryable.ToListAsync(), item => item.Id); return(deletedNumber); }
public Task <int> DeleteLogsAsync(DeleteLogsFilterDto filter) { return(_logRepository.DeleteLogsAsync(filter)); }