using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OASystem.Domain
{
    public class Result
    {
        public int Code { get; set; } = -1;
        public string Msg { get; set; } = "未知错误";
        public dynamic? Data { get; set; } = new { };
        public Result() { }
        public Result(int code, string msg, dynamic? data = null)
        {
            Code = code;
            Msg = msg;
            Data = data;
        }
    }
    /// 
    /// 业务异常基类
    /// 
    public class BusinessException : Exception
    {
        /// 
        /// 错误代码
        /// 
        public int Code { get; set; }
        /// 
        /// 错误详情
        /// 
        public object Data { get; set; }
        public BusinessException(string message) : base(message)
        {
            Code = 400;
        }
        public BusinessException(int code, string message) : base(message)
        {
            Code = code;
        }
        public BusinessException(string message, object details) : base(message)
        {
            Code = 400;
            Data = details;
        }
        public BusinessException(int code, string message, object details) : base(message)
        {
            Code = code;
            Data = details;
        }
    }
    /// 
    /// 公共静态数据
    /// 
    public static class SharingStaticData
    {
        /// 
        /// 端口静态数据
        /// 
        public static List PortTypes = new() { 1, 2, 3 };
    }
    /// 
    /// 消息 Tips
    /// 
    public static class MsgTips 
    {
        /// 
        /// 成功 消息提示
        /// 
        public static string Succeed = "操作成功!";
        /// 
        /// 失败 消息提示
        /// 
        public static string Fail = "操作失败!";
        /// 
        /// 添加成功
        /// 
        public static string AddSucceed = "添加成功!";
        /// 
        /// 添加成功
        /// 
        public static string AddFail = "添加失败!";
        /// 
        /// 修改成功
        /// 
        public static string EditSucceed = "修改成功!";
        /// 
        /// 修改成功
        /// 
        public static string EditFail = "修改失败!";
        /// 
        /// 端口错误消息提示
        /// 
        public static string Port = "请检查端口值是否正确!“portType”:1:WEB;2:ANDROID;3:IOS;";
        /// 
        /// 端口错误消息提示-Mobile
        /// 
        public static string MobilePort = "请检查端口值是否正确!“portType”:2:ANDROID;3:IOS;";
        /// 
        ///  PageIndex 错误消息提示
        /// 
        public static string PageIndex = "请检查当前页面(pageIndex)是否正确!";
        /// 
        /// PageSize 错误消息提示
        /// 
        public static string PageSize = "请检查每页长度(pageSize)是否正确!";
        /// 
        /// 团组Id错误消息提示
        /// 
        public static string DiId = "请检查团组Id是否正确!";
        /// 
        /// 数据Id错误消息提示
        /// 
        public static string Id = "请检查数据Id(id)是否正确!";
        /// 
        /// 数据Id错误消息提示
        /// 
        public static string Status = "请检查状态Id(Status)是否正确!1 添加 2 修改";
        /// 
        /// UserId错误消息提示
        /// 
        public static string UserId = "请检查UserId是否正确!";
        /// 
        /// OperateId错误消息提示
        /// 
        public static string OperateId = "请传入有效的操作类型Id";
        /// 
        /// PageId错误消息提示
        /// 
        public static string PageId = "请检查PageId是否正确!";
        /// 
        /// CheckAuth 错误消息提示
        /// 
        public static string CheckAuth = "您没有查看权限!";
    }
   
}