using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using detect.gui.Models; using detect.gui.Models.Entities; namespace detect.gui.Services.Detect; public class DetectLogService : ServiceBase { public ApiResponse> Search(int? userId, string? description = "", int pageNum = 1, int pageSize = 10) { // var items = FindList(BuildSearchPredicate(name, code), "CreateTime", false) Expression> filter = x => (userId == null || x.UserId == null || x.UserId == userId && (string.IsNullOrEmpty(description) || string.IsNullOrEmpty(x.Description) || x.Description.Contains(description))); var total = Count(filter); var items = FindList(filter, "CreateTime", false) .Skip((pageNum - 1) * pageSize).Take(pageSize).ToList(); var pagedResult = new PagedResult(pageNum, pageSize, total, items); return new ApiResponse>(0, "success", pagedResult); } public ApiResponse ListById(long id) { var item = Find(x => x.Id == id); return new ApiResponse(0, "success", item); } public ApiResponse ListOne(int? userId, string? description = "") { Expression> filter = x => (userId == null || x.UserId == null || x.UserId == userId && (string.IsNullOrEmpty(description) || string.IsNullOrEmpty(x.Description) || x.Description.Contains(description))); var item = Find(filter); return new ApiResponse(0, "success", item); } public ApiResponse?> ListAll() { var items = FindList(x => true, "Id", true) .ToList(); return new ApiResponse?>(0, "success", items); } public ApiResponse AddData(LogEntity entity) { var data = Add(entity); return new ApiResponse(0, "success", data); } public ApiResponse UpdateData(LogEntity entity) { return new ApiResponse(Update(entity) ? 0 : -1, "success", null); } public ApiResponse DeleteById(long id) { Delete(x => x.Id == id); return new ApiResponse(0, "success", null); } public ApiResponse DeleteData(LogEntity entity) { Delete(entity); return new ApiResponse(0, "success", null); } }