using HslCommunication;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PVDEMCS.Common
{
    public class Result
    {
        //
        // 摘要:
        //     指示本次操作是否成功。
        //     Indicates whether this operation was successful.
        public bool IsSuccess { get; set; } = true;

        //
        // 摘要:
        //     具体的错误描述。
        //     Specific error description.
        public string Message { get; set; }


        public int ErrorCode { get; set; }

        //
        // 摘要:
        //     实例化一个默认的结果对象
        public Result()
        {
        }

        //
        // 摘要:
        //     使用指定的消息实例化一个默认的结果对象
        //
        // 参数:
        //   msg:
        //     错误消息
        public Result(string msg)
        {
            IsSuccess = false;
            Message = msg;
        }

        //
        // 摘要:
        //     使用错误代码，消息文本来实例化对象
        //
        // 参数:
        //   err:
        //     错误代码
        //
        //   msg:
        //     错误消息
        public Result(int err, string msg)
        {
            IsSuccess = false;
            ErrorCode = err;
            Message = msg;
        }
    }

    public class Result<T> : Result
    {
        public T Content { get; set; }

        public Result()
        {

        }

        public Result(T content)
        {
            Content = content;
        }
    }
}
