41 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Marco.Pms.Model.Utilities
{
public class ApiResponse<T>
{
public bool Success { get; set; }
public string Message { get; set; }
public T Data { get; set; }
public object Errors { get; set; }
public int StatusCode { get; set; }
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
public ApiResponse(bool success, string message, T data, object errors, int statusCode)
{
Success = success;
Message = message;
Data = data;
Errors = errors;
StatusCode = statusCode;
}
public static ApiResponse<T> SuccessResponse(T data, string message = "Request processed successfully.", int statusCode = 200)
{
return new ApiResponse<T>(true, message, data, null, statusCode);
}
public static ApiResponse<T> ErrorResponse(string message, object errors = null, int statusCode = 400)
{
return new ApiResponse<T>(false, message, default, errors, statusCode);
}
}
}