using Microsoft.Extensions.Hosting; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; [Serializable] public class Response { public int Code { get; set; } public string Message { get; set; } public T Data { get; set; } public long Timestamp => DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); public Response() : this(default) { } public Response(T data) { Code = 200; Message = "Success"; Data = data; } } [Serializable] public class Response : Response { public Response() : this(null) { } public Response(object obj) : base(obj) { } public static Response Success(int code = 200, string msg = "Success", object data = default) { return new Response(data); } public static Response Error(int code, string msg, object data = default) { return new Response() { Code = code, Message = msg, Data = data }; } }