using System.Net; namespace LittleShop.Client.Models; public class ApiResponse { public bool IsSuccess { get; set; } public T? Data { get; set; } public string? ErrorMessage { get; set; } public HttpStatusCode StatusCode { get; set; } public static ApiResponse Success(T data, HttpStatusCode statusCode = HttpStatusCode.OK) { return new ApiResponse { IsSuccess = true, Data = data, StatusCode = statusCode }; } public static ApiResponse Failure(string errorMessage, HttpStatusCode statusCode) { return new ApiResponse { IsSuccess = false, ErrorMessage = errorMessage, StatusCode = statusCode }; } } public class PagedResult { public List Items { get; set; } = new(); public int TotalCount { get; set; } public int PageNumber { get; set; } public int PageSize { get; set; } public int TotalPages => (int)Math.Ceiling(TotalCount / (double)PageSize); public bool HasPreviousPage => PageNumber > 1; public bool HasNextPage => PageNumber < TotalPages; }