1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace IStation.Dto
{
    /// <summary>
    /// 执行返回的通用类,该类带有详细的业务数据,除了告诉用户此次调用是否成功与否,以及一个表示提示信息的字符串外,还带的详细的业务数据
    /// </summary>
    /// <typeparam name="T">业务数据的类型</typeparam>
    public class ApiResult_PageList<T> : ApiResult
    {
        /// <summary>
        /// 业务数据
        /// </summary>
        public List<T> Data { get; set; }
 
        /// <summary>
        /// 总条数
        /// </summary>
        public long Count { get; set; }
 
 
        /// <summary>
        /// 构造函数
        /// </summary>
        public ApiResult_PageList() { }
 
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="type">状态标识</param>
        /// <param name="message">提示信息</param>
        public ApiResult_PageList(IEnumerable<T> data, 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_PageList(IEnumerable<T> data)
         : base(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_PageList(T data)
            : base(ApiResultCode.Success, "")
        {
            this.Data = new List<T> { data };
            this.Count = 1;
        }
 
 
 
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="data">业务数据</param>
        /// <param name="message">提示信息</param>
        public ApiResult_PageList(IEnumerable<T> data, string message)
        {
            this.Data = data.ToList();
            this.Code = string.IsNullOrEmpty(message) ? ApiResultCode.Success : 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_PageList(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_PageList(IEnumerable<T> data, long count)
        {
            this.Count = count;
            if (data == null)
                return;
            this.Data = data.ToList();
        }
    }
 
 
 
}