tangxu
2024-04-12 68da658e90864f503d97bc58a2a97f80d8e71065
WebApi/Api/ApiResult_List.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,132 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace IStation.Dto
{
    /// <summary>
    /// æ‰§è¡Œè¿”回的通用类,该类带有详细的业务数据,除了告诉用户此次调用是否成功与否,以及一个表示提示信息的字符串外,还带的详细的业务数据
    /// </summary>
    /// <typeparam name="T">业务数据的类型</typeparam>
    public class ApiResult_List<T> : ApiResult
    {
        /// <summary>
        /// ä¸šåŠ¡æ•°æ®
        /// </summary>
        public List<T> Data { get; set; }
        /// <summary>
        /// æ€»æ¡æ•°
        /// </summary>
        public long Count { get; set; }
        /// <summary>
        /// æž„造函数
        /// </summary>
        public ApiResult_List() { }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="type">状态标识</param>
        /// <param name="message">提示信息</param>
        public ApiResult_List(IEnumerable<T> data, IStation.Dto.ApiResultCode type, string message)
            : base(type, message)
        {
            this.Data = data.ToList();
            if (data == null || data.Count() == 0)
            {
                this.Count = 0;
            }
            else
            {
                this.Count = data.Count();
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        public ApiResult_List(IEnumerable<T> data)
         : base(IStation.Dto.ApiResultCode.Success, "")
        {
            this.Data = data.ToList();
            if (data == null || data.Count() == 0)
            {
                this.Count = 0;
            }
            else
            {
                this.Count = data.Count();
            }
        }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        public ApiResult_List(T data)
            : base(IStation.Dto.ApiResultCode.Success, "")
        {
            this.Data = new List<T> { data };
            this.Count = 1;
        }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="message">提示信息</param>
        public ApiResult_List(IEnumerable<T> data, string message)
        {
            this.Data = data.ToList();
            this.Code = string.IsNullOrEmpty(message) ? IStation.Dto.ApiResultCode.Success : IStation.Dto.ApiResultCode.Error;
            this.Message = message;
            if (data == null || data.Count() == 0)
            {
                this.Count = 0;
            }
            else
            {
                this.Count = data.Count();
            }
        }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="count">总长 å¯èƒ½å’Œdata的数据长度不一样</param>
        public ApiResult_List(IEnumerable<T> data, int count)
        {
            this.Count = count;
            if (data == null)
                return;
            this.Data = data.ToList();
        }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="count">总长 å¯èƒ½å’Œdata的数据长度不一样</param>
        public ApiResult_List(IEnumerable<T> data, long count)
        {
            this.Count = count;
            if (data == null)
                return;
            this.Data = data.ToList();
        }
    }
}