42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using System.Net;
|
|
|
|
namespace LittleShop.Client.Models;
|
|
|
|
public class ApiResponse<T>
|
|
{
|
|
public bool IsSuccess { get; set; }
|
|
public T? Data { get; set; }
|
|
public string? ErrorMessage { get; set; }
|
|
public HttpStatusCode StatusCode { get; set; }
|
|
|
|
public static ApiResponse<T> Success(T data, HttpStatusCode statusCode = HttpStatusCode.OK)
|
|
{
|
|
return new ApiResponse<T>
|
|
{
|
|
IsSuccess = true,
|
|
Data = data,
|
|
StatusCode = statusCode
|
|
};
|
|
}
|
|
|
|
public static ApiResponse<T> Failure(string errorMessage, HttpStatusCode statusCode)
|
|
{
|
|
return new ApiResponse<T>
|
|
{
|
|
IsSuccess = false,
|
|
ErrorMessage = errorMessage,
|
|
StatusCode = statusCode
|
|
};
|
|
}
|
|
}
|
|
|
|
public class PagedResult<T>
|
|
{
|
|
public List<T> 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;
|
|
} |