123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- using TEAMModelOS.SDK.Extension.DataResult.PageToken;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse
- {
-
- public class JsonRPCResponseBuilder
- {
- private string message="Success";
- private object data;
- private long total;
- private int currPage;
- private int pageSize;
- private int totalPage;
- private Dictionary<string, object> extend;
- private Pagination page;
- private AzureTableToken token;
- private ErrorModel error =null;
-
- public JsonRPCResponseBuilder()
- {
- }
- public JsonRPCResponseBuilder Success()
- {
- error = null;
- return this;
- }
- public JsonRPCResponseBuilder Success(String message)
- {
- this.message = message;
- return this;
- }
- public static JsonRPCResponseBuilder custom()
- {
- return new JsonRPCResponseBuilder();
- }
- public JsonRPCResponseBuilder Data(object data)
- {
- this.data = data;
- return this;
- }
- public JsonRPCResponseBuilder Error( int code, string message)
- {
-
- this.error = new ErrorModel { code=code, message=message, data = null };
- return this;
- }
- public JsonRPCResponseBuilder Error(int code, Dictionary<string,object> errorData)
- {
-
- this.error = new ErrorModel { code = code, message = message ,data= errorData };
- return this;
- }
- public JsonRPCResponseBuilder Error( int code)
- {
- this.error = new ErrorModel { code = code, message = "Error", data = null };
- return this;
- }
- public JsonRPCResponseBuilder Error(int code, string message, Dictionary<string, object> errorData)
- {
- this.error = new ErrorModel { code = code, message = message, data = errorData };
- return this;
- }
- public JsonRPCResponseBuilder Extend(Dictionary<String, object> extend)
- {
- this.extend = extend;
- return this;
- }
- public JsonRPCResponseBuilder Token(AzureTableToken token)
- {
- this.token = token;
- return this;
- }
- public JsonRPCResponseBuilder Page(Pagination page)
- {
- this.pageSize = page.pageSize;
- this.currPage = page.currPage;
- this.total = page.total;
- this.page = page;
- this.totalPage = (int)Math.Ceiling((double)this.total / (double)this.pageSize);
- return this;
- }
- public JsonRPCResponseBuilder totalCount(int totalCount)
- {
- this.total = totalCount;
- return this;
- }
- public JsonRPCResponseBuilder CurrPage(int currPage)
- {
- this.currPage = currPage;
- return this;
- }
- public JsonRPCResponseBuilder PageSize(int pageSize)
- {
- this.pageSize = pageSize;
- return this;
- }
- public JsonRPCResponseBuilder TotalPage(int totalPage)
- {
- this.totalPage = totalPage;
- return this;
- }
- public BaseJosnRPCResponse build()
- {
- object baseResponse = null;
- if (error != null) {
- ErrorJosnRPCResponse errorJosnRPCResponse = new ErrorJosnRPCResponse();
- errorJosnRPCResponse.error = error.data;
- error.code = error.code;
- error.message = error.message;
- return errorJosnRPCResponse;
- }
- if (this.total > 0 && this.pageSize > 0)
- {
- this.totalPage = (int)Math.Ceiling((double)this.total / (double)this.pageSize);
- }
- if (null != this.data && this.token != null)
- {
- TokenJosnRPCResponse<object> response = new TokenJosnRPCResponse<object>();
- response.result.data = this.data;
- response.result.extend = this.extend;
- response.result.azureToken = this.token;
- response.code = 0;
- response.message = message;
- baseResponse = response;
- }
- else if (null != this.data && this.total > 0 && this.currPage > 0 && this.pageSize > 0 && this.totalPage > 0)
- {
- PageJosnRPCResponse<object> response = new PageJosnRPCResponse<object>();
- response.result.data = this.data;
- response.result.page = new Pagination(this.total, this.currPage, this.pageSize, this.totalPage);
- response.result.extend = this.extend;
- response.message = message;
- response.code = 0;
- baseResponse = response;
- }
- else if (this.data != null)
- {
- DataJosnRPCResponse<object> response = new DataJosnRPCResponse<object>();
- response.result.data = this.data;
- response.result.extend = this.extend;
- response.message = message;
- response.code = 0;
- baseResponse = response;
- }
- else if (this.data == null) {
- DataJosnRPCResponse<object> response = new DataJosnRPCResponse<object>();
- response.result.data = this.data;
- response.result.extend = this.extend;
- response.message = message;
- response.code = 0;
- baseResponse = response;
- }
- else
- {
- return new EmptyJosnRPCResponse() ;
- }
- return (BaseJosnRPCResponse)baseResponse;
- }
-
- }
- }
|