Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Newtonsoft Serialization #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 55 additions & 44 deletions Kavenegar/KavenegarApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,71 +12,81 @@

namespace Kavenegar
{
[Serializable]
internal class ReturnResult
{
public Result @Return { get; set; }
public object entries { get; set; }
[JsonProperty("entries")] public object Entries { get; set; }
}

[Serializable]
internal class Result
{
public int status { get; set; }
public string message { get; set; }
[JsonProperty("status")] public int Status { get; set; }
[JsonProperty("message")] public string Message { get; set; }
}

[Serializable]
internal class ReturnSend
{
public Result @Return { get; set; }
public List<SendResult> entries { get; set; }
[JsonProperty("entries")] public List<SendResult> Entries { get; set; }
}

[Serializable]
internal class ReturnStatus
{
public Result result { get; set; }
public List<StatusResult> entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<StatusResult> Entries { get; set; }
}

[Serializable]
internal class ReturnStatusLocalMessageId
{
public Result result { get; set; }
public List<StatusLocalMessageIdResult> entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<StatusLocalMessageIdResult> Entries { get; set; }
}

[Serializable]
internal class ReturnReceive
{
public Result result { get; set; }
public List<ReceiveResult> entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<ReceiveResult> Entries { get; set; }
}

[Serializable]
internal class ReturnCountOutbox
{
public Result result { get; set; }
public List<CountOutboxResult> entries { get; set; }
[JsonProperty("Result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<CountOutboxResult> Entries { get; set; }
}

[Serializable]
internal class ReturnCountInbox
{
public Result result { get; set; }
public List<CountInboxResult> entries { get; set; }

[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<CountInboxResult> Entries { get; set; }
}

[Serializable]
internal class ReturnCountPostalCode
{
public Result result { get; set; }
public List<CountPostalCodeResult> entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public List<CountPostalCodeResult> Entries { get; set; }
}

[Serializable]
internal class ReturnAccountInfo
{
public Result result { get; set; }
public AccountInfoResult entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public AccountInfoResult Entries { get; set; }
}

[Serializable]
internal class ReturnAccountConfig
{
public Result result { get; set; }
public AccountConfigResult entries { get; set; }
[JsonProperty("result")] public Result Result { get; set; }
[JsonProperty("entries")] public AccountConfigResult Entries { get; set; }
}

public class KavenegarApi
Expand All @@ -85,6 +95,7 @@ public class KavenegarApi
private int _returnCode = 200;
private string _returnMessage = "";
private const string Apipath = "https://api.kavenegar.com/v1/{0}/{1}/{2}.{3}";

public KavenegarApi(string apikey)
{
_apikey = apikey;
Expand Down Expand Up @@ -162,7 +173,7 @@ private static string Execute(string path, Dictionary<string, object> _params)
try
{
var result = JsonConvert.DeserializeObject<ReturnResult>(responseBody);
throw new ApiException(result.Return.message, result.Return.status);
throw new ApiException(result.Return.Message, result.Return.Status);
}
catch (ApiException)
{
Expand Down Expand Up @@ -228,7 +239,7 @@ public List<SendResult> Send(string sender, List<string> receptor, string messag
}
var responseBody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responseBody);
return l.entries;
return l.Entries;
}

public List<SendResult> SendArray(List<string> senders, List<string> receptors, List<string> messages)
Expand Down Expand Up @@ -319,11 +330,11 @@ public List<SendResult> SendArray(List<string> senders, List<string> receptors,

var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
if (l.entries == null)
if (l.Entries == null)
{
return new List<SendResult>();
}
return l.entries;
return l.Entries;
}

public List<StatusResult> Status(List<string> messageids)
Expand All @@ -335,11 +346,11 @@ public List<StatusResult> Status(List<string> messageids)
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnStatus>(responsebody);
if (l.entries == null)
if (l.Entries == null)
{
return new List<StatusResult>();
}
return l.entries;
return l.Entries;
}

public StatusResult Status(string messageid)
Expand All @@ -355,7 +366,7 @@ public List<StatusLocalMessageIdResult> StatusLocalMessageId(List<string> messag
var param = new Dictionary<string, object> { { "localid", StringHelper.Join(",", messageids.ToArray()) } };
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnStatusLocalMessageId>(responsebody);
return l.entries;
return l.Entries;
}

public StatusLocalMessageIdResult StatusLocalMessageId(string messageid)
Expand All @@ -370,11 +381,11 @@ public List<SendResult> Select(List<string> messageids)
var param = new Dictionary<string, object> { { "messageid", StringHelper.Join(",", messageids.ToArray()) } };
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
if (l.entries == null)
if (l.Entries == null)
{
return new List<SendResult>();
}
return l.entries;
return l.Entries;
}

public SendResult Select(string messageid)
Expand Down Expand Up @@ -405,7 +416,7 @@ public List<SendResult> SelectOutbox(DateTime startdate, DateTime enddate, Strin
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
return l.entries;
return l.Entries;
}

public List<SendResult> LatestOutbox(long pagesize)
Expand All @@ -419,7 +430,7 @@ public List<SendResult> LatestOutbox(long pagesize, String sender)
var param = new Dictionary<string, object> { { "pagesize", pagesize }, { "sender", sender } };
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
return l.entries;
return l.Entries;
}

public CountOutboxResult CountOutbox(DateTime startdate)
Expand All @@ -443,11 +454,11 @@ public CountOutboxResult CountOutbox(DateTime startdate, DateTime enddate, int s
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnCountOutbox>(responsebody);
if (l.entries == null || l.entries[0] == null)
if (l.Entries == null || l.Entries[0] == null)
{
return new CountOutboxResult();
}
return l.entries[0];
return l.Entries[0];
}

public List<StatusResult> Cancel(List<String> ids)
Expand All @@ -459,7 +470,7 @@ public List<StatusResult> Cancel(List<String> ids)
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnStatus>(responsebody);
return l.entries;
return l.Entries;
}

public StatusResult Cancel(String messageid)
Expand All @@ -475,11 +486,11 @@ public List<ReceiveResult> Receive(string line, int isread)
var param = new Dictionary<string, object> { { "linenumber", line }, { "isread", isread } };
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnReceive>(responsebody);
if (l.entries == null)
if (l.Entries == null)
{
return new List<ReceiveResult>();
}
return l.entries;
return l.Entries;
}

public CountInboxResult CountInbox(DateTime startdate, string linenumber)
Expand All @@ -504,7 +515,7 @@ public CountInboxResult CountInbox(DateTime startdate, DateTime enddate, String
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnCountInbox>(responsebody);
return l.entries[0];
return l.Entries[0];
}

public List<CountPostalCodeResult> CountPostalCode(long postalcode)
Expand All @@ -513,7 +524,7 @@ public List<CountPostalCodeResult> CountPostalCode(long postalcode)
var param = new Dictionary<string, object> { { "postalcode", postalcode } };
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnCountPostalCode>(responsebody);
return l.entries;
return l.Entries;
}

public List<SendResult> SendByPostalCode(long postalcode, String sender, String message, long mcistartIndex, long mcicount, long mtnstartindex, long mtncount)
Expand All @@ -537,15 +548,15 @@ public List<SendResult> SendByPostalCode(long postalcode, String sender, String
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
return l.entries;
return l.Entries;
}

public AccountInfoResult AccountInfo()
{
var path = GetApiPath("account", "info", "json");
var responsebody = Execute(path, null);
var l = JsonConvert.DeserializeObject<ReturnAccountInfo>(responsebody);
return l.entries;
return l.Entries;
}

public AccountConfigResult AccountConfig(string apilogs, string dailyreport, string debugmode, string defaultsender, int? mincreditalarm, string resendfailed)
Expand All @@ -562,7 +573,7 @@ public AccountConfigResult AccountConfig(string apilogs, string dailyreport, str
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnAccountConfig>(responsebody);
return l.entries;
return l.Entries;
}

public SendResult VerifyLookup(string receptor, string token, string template)
Expand Down Expand Up @@ -607,7 +618,7 @@ public SendResult VerifyLookup(string receptor, string token, string token2, str
};
var responsebody = Execute(path, param);
var l = JsonConvert.DeserializeObject<ReturnSend>(responsebody);
return l.entries[0];
return l.Entries[0];
}


Expand Down Expand Up @@ -636,7 +647,7 @@ public List<SendResult> CallMakeTTS(string message, List<string> receptor, DateT
param.Add("localid", StringHelper.Join(",", localid.ToArray()));
var responseBody = Execute(path, param);

return JsonConvert.DeserializeObject<ReturnSend>(responseBody).entries;
return JsonConvert.DeserializeObject<ReturnSend>(responseBody).Entries;
}

#endregion << CallMakeTTS >>
Expand Down