-
Notifications
You must be signed in to change notification settings - Fork 0
/
WebApiObject.cs
124 lines (115 loc) · 5.65 KB
/
WebApiObject.cs
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Script.Serialization;
namespace WebApiAgent
{
public class WebApiObject
{
HTTP myHttp = new HTTP();
private string UrlRoot = "http://localhost/";
private string ParmEx = "&token=TESTTOKEN";
public WebApiObject(string _UrlRoot,string appname="default")
{
this.UrlRoot = _UrlRoot;
this.ParmEx += ("&app="+appname);
}
public List<T> SearchData<T>(string apiUrl) {
string jsonResult = myHttp.Get(this.UrlRoot+apiUrl+ParmEx);
WebApiResponse<T> response = myHttp.ConvertJsonToObj<T>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList; }
return new List<T>();
}
/// <summary>
/// 在分页查询中使用的一种接口
/// totalCount是否有效,需要在Url的参数中明确标识
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="apiUrl"></param>
/// <param name="totalCount"></param>
/// <returns></returns>
public List<T> SearchData<T>(string apiUrl,ref int totalCount)
{
totalCount = 0;
string jsonResult = myHttp.Get(this.UrlRoot + apiUrl + ParmEx);
WebApiResponse<T> response = myHttp.ConvertJsonToObj<T>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0)
{
totalCount = response.TotalCount;
return response.DataList;
}
return new List<T>();
}
public int InsertData(string apiUrl, object data, bool isPost = true)
{
string jsonResult = "";
if (isPost) { jsonResult = myHttp.Post(this.UrlRoot + apiUrl + ParmEx, myHttp.ConvertObjToJson(data)); }
else{ jsonResult = myHttp.Get(apiUrl);}
WebApiResponse<ActionResult> response = myHttp.ConvertJsonToObj<ActionResult>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList[0].DoneCount; }
return 0;
}
public int Updata(string apiUrl, object data, bool isPost = true)
{
string jsonResult = "";
if (isPost) { jsonResult = myHttp.Post(this.UrlRoot + apiUrl + ParmEx, myHttp.ConvertObjToJson(data)); }
else { jsonResult = myHttp.Get(apiUrl); }
WebApiResponse<ActionResult> response = myHttp.ConvertJsonToObj<ActionResult>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList[0].DoneCount; }
return 0;
}
public int DeleteData(string apiUrl)
{
string jsonResult = myHttp.Get(this.UrlRoot + apiUrl + ParmEx);
WebApiResponse<ActionResult> response = myHttp.ConvertJsonToObj<ActionResult>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList[0].DoneCount; }
return 0;
}
public List<T> RunReadSQL<T>(string apiUrl,RunSQL SQL,bool isDataEncoding = true)
{
string PostData = myHttp.ConvertObjToJson(SQL);
if (isDataEncoding)
{
byte[] bytes = Encoding.UTF8.GetBytes(PostData);
PostData = Convert.ToBase64String(bytes);
}
string jsonResult = myHttp.Post(this.UrlRoot + apiUrl + ParmEx + (isDataEncoding?"&encoding=true":""), PostData,false);
WebApiResponse<T> response = myHttp.ConvertJsonToObj<T>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList; }
return new List<T>();
}
public List<T> RunReadSQL<T>(string apiUrl, RunSQL SQL,ref int totalCount, bool isDataEncoding = true)
{
totalCount = 0;
string PostData = myHttp.ConvertObjToJson(SQL);
if (isDataEncoding)
{
byte[] bytes = Encoding.UTF8.GetBytes(PostData);
PostData = Convert.ToBase64String(bytes);
}
string jsonResult = myHttp.Post(this.UrlRoot + apiUrl + ParmEx + (isDataEncoding ? "&encoding=true" : ""), PostData,false);
WebApiResponse<T> response = myHttp.ConvertJsonToObj<T>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0)
{
totalCount = response.TotalCount;
return response.DataList;
}
return new List<T>();
}
public int RunWriteSQL(string apiUrl, RunSQL SQL, bool isDataEncoding = true)
{
string PostData = myHttp.ConvertObjToJson(SQL);
if (isDataEncoding)
{
byte[] bytes = Encoding.UTF8.GetBytes(PostData);
PostData = Convert.ToBase64String(bytes);
}
string jsonResult = myHttp.Post(this.UrlRoot + apiUrl + ParmEx + (isDataEncoding ? "&encoding=true" : ""), PostData);
WebApiResponse<ActionResult> response = myHttp.ConvertJsonToObj<ActionResult>(jsonResult);
if (response != null && response.DataList != null && response.DataList.Count > 0) { return response.DataList[0].DoneCount; }
return 0;
}
}
}