public async Task <List <MLFSClient> > GetClients(string idString) { idString = HttpUtility.UrlEncode(idString); string url = String.Format("clients?filter=id in {0}", idString); IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0 && response.StatusCode == System.Net.HttpStatusCode.OK) { JToken token = JToken.Parse(response.Content); JArray clients = Tools.ExtractItemsArrayFromJsonString(response.Content); if (clients.Count > 0) { List <MLFSClient> clientList = MLFSClient.CreateList(clients); return(clientList); } else { return(null); } } else { return(null); } }
public async Task <List <MLFSPlan> > GetClientPlans(string clientId, string url = "") { if (String.IsNullOrEmpty(url)) { url = String.Format("clients/{0}/plans", clientId); } IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0 && response.StatusCode == System.Net.HttpStatusCode.OK) { JArray jarray = Tools.ExtractItemsArrayFromJsonString(response.Content); List <MLFSPlan> plans = MLFSPlan.CreateList(jarray); foreach (MLFSPlan p in plans) { url = String.Format("clients/{0}/plans/{1}/contributions", clientId, p.PrimaryID); response = await IOConnection.GetResponse(url); JArray conts = Tools.ExtractItemsArrayFromJsonString(response.Content); p.ContributionsToDate = conts.Sum(x => Decimal.Parse(x["value"]["amount"].ToString())); } return(plans); } else { return(null); } }
public static async Task <IRestResponse> GetResponse(string url) { url = apiBaseUrl + url; var contRestClient = new RestClient(url); var request = await IOConnection.BuildRestRequest(Method.GET); IRestResponse response = await contRestClient.ExecuteAsync(request); return(response); }
private static async Task <JArray> GetRelated(MLFSClient client) { string url = String.Format("clients/{0}/{1}", client.PrimaryID, "relationships"); IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0) { JArray _array = Tools.ExtractItemsArrayFromJsonString(response.Content); return(_array); } else { return(null); } }
private static async Task <MLFSClient> GetBasicClientData(string id) { string url = String.Format("clients/{0}", id); IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0) { JToken token = JToken.Parse(response.Content); MLFSClient client = new MLFSClient(token); return(client); } else { return(null); } }
public async Task <List <MLFSFee> > GetClientFees(string clientId, string url = "") { if (String.IsNullOrEmpty(url)) { url = String.Format("clients/{0}/fees", clientId); } IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0 && response.StatusCode == System.Net.HttpStatusCode.OK) { JArray jarray = Tools.ExtractItemsArrayFromJsonString(response.Content); List <MLFSFee> fees = MLFSFee.CreateList(jarray); return(fees); } else { return(null); } }
private async Task <decimal> GetContributionTotal(MLFSPlan plan) { string url = String.Format("clients/{0}/plans/{1}/contributions", plan.Clients[0].PrimaryID, plan.PrimaryID); IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0) { JArray array = Tools.ExtractItemsArrayFromJsonString(response.Content); decimal total = 0; foreach (JObject obj in array) { total += decimal.Parse(obj["value"]["Amount"].ToString()); } return(total); } else { return(0); } }
private static async void GetAdditionalData(MLFSClient client, string endpoint) { string url = String.Format("clients/{0}/{1}", client.PrimaryID, endpoint); IRestResponse response = await IOConnection.GetResponse(url); if (response.Content.Length != 0) { JArray _array = Tools.ExtractItemsArrayFromJsonString(response.Content); List <Address> addresses = new List <Address>(); List <Number> numbers = new List <Number>(); List <EmailAddress> emails = new List <EmailAddress>(); if (endpoint == "addressess") { addresses = Address.CreateList(_array); } if (endpoint == "contactdetails") { JArray jarray = Tools.SplitContactDetails(_array); numbers = Number.CreateList(jarray); jarray = Tools.SplitContactDetails(_array, true); emails = EmailAddress.CreateList(jarray); } if (client.IsIndividual) { client.Person.Addresses = addresses; client.Person.EmailAddresses = emails; client.Person.Numbers = numbers; } else { if (client.Organisation == null) { client.Organisation = new Organisation(); } client.Organisation.Addresses = addresses; client.Organisation.Numbers = numbers; } } }