update models

master
Young 7 months ago
parent b071e1e74b
commit 04d206a75a

@ -0,0 +1,62 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Infrastructure;
[ApiController]
[Produces("application/json")]
[ProducesResponseType(StatusCodes.Status200OK)]
public class DefaultControllerBase : ControllerBase
{
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData<T> Succeed<T>(T data, string message = "successful")
{
return new MessageData<T>(data, true, message);
}
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData Succeed(string message = "successful", int code = 200)
{
return new MessageData(true, message, code);
}
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData Fail(string message = "failed", int code = 500)
{
return new MessageData(false, message, code);
}
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData<T?> Fail<T>(string message = "failed", int code = 500)
{
return new MessageData<T?>(default, false, message, code);
}
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData<PageData<T>> SucceedPage<T>(int page, int dataCount, int pageSize, List<T> data,
int pageCount,
string message = "successful")
{
var pageData = new PageData<T>()
{
Data = data,
TotalPages = pageCount,
PageSize = pageSize,
Page = page,
TotalItems = dataCount,
};
return new MessageData<PageData<T>>(pageData, true, message);
}
[NonAction]
[ApiExplorerSettings(IgnoreApi = true)]
public static MessageData<PageData<T>> SucceedPage<T>(PageData<T> page, string message = "successful")
{
return new MessageData<PageData<T>>(page, true, message);
}
}

@ -0,0 +1,16 @@
namespace Infrastructure;
public class MessageData(bool successful, string message, int code = 500)
{
public bool Successful { get; set; } = successful;
public int Code { get; set; } = code;
public string Message { get; set; } = message;
}
public class MessageData<T>(T data, bool successful, string message, int code = 500)
: MessageData(successful, message, code)
{
public T Data { get; set; } = data;
}

@ -0,0 +1,27 @@
namespace Infrastructure;
public class PageData<T>
{
public PageData()
{
}
public PageData(int page, int pageSize, int totalPages, int totalItems, List<T> data)
{
Page = page;
PageSize = pageSize;
TotalItems = totalItems;
TotalPages = totalPages;
Data = data;
}
public int Page { get; set; }
public int PageSize { get; set; }
public int TotalPages { get; set; }
public int TotalItems { get; set; }
public List<T> Data { get; set; }
}
Loading…
Cancel
Save