using Newtonsoft.Json; namespace IRaCIS.Core.Application.Contracts.RequestAndResponse { /// /// 响应数据输出 泛型 /// public class ResponseOutput : IResponseOutput { /// /// 是否成功标记 /// public bool IsSuccess { get; private set; } /// /// 消息 /// public string ErrorMessage { get; private set; } /// /// 数据 兼顾以前 Json序列化的时候返回属性名为“Result” /// [JsonProperty("Result")] public T Data { get; private set; } /// /// 成功 /// /// 数据 /// 消息 public ResponseOutput Ok(T data, string msg = "") { IsSuccess = true; Data = data; ErrorMessage = msg; return this; } /// /// 失败 /// /// 提示消息 /// 数据 /// public ResponseOutput NotOk(string msg = "", T data = default) { IsSuccess = false; ErrorMessage = msg; Data = data; return this; } } /// /// 响应数据静态输出 为了代码简洁 不用每处都New /// public static class ResponseOutput { /// /// 成功 -----适合查询 /// /// 数据 /// 消息 /// public static IResponseOutput Ok(T data = default, string msg = "") { return new ResponseOutput().Ok(data, msg); } /// /// 成功 /// /// public static IResponseOutput Ok() { return Ok(); } /// /// 失败 /// /// 消息 /// 数据 /// public static IResponseOutput NotOk(string msg = "", T data = default) { return new ResponseOutput().NotOk(msg, data); } /// /// 失败 /// /// 消息 /// public static IResponseOutput NotOk(string msg = "") { return new ResponseOutput().NotOk(msg); } /// /// 根据布尔值返回结果 --适合删除 /// /// /// public static IResponseOutput Result(bool success) { return success ? Ok() : NotOk("Database operate failed"); } /// /// 根据布尔值返回结果 --适合添加和更新一起 /// /// /// public static IResponseOutput Result(bool success, T data = default) { return success ? Ok(data) : NotOk("Database operation failed"); } /// /// 根据布尔值返回结果 /// /// /// public static IResponseOutput Result(bool success) { return success ? Ok() : NotOk(); } } }