public void ToggleHouseholdMembership(DownloadPersonModel person, DownloadHouseholdModel household, Action <Exception, DownloadHouseholdModel> callback) { var request = new RestRequest("/api/people/" + person.id + "/toggle_membership/", Method.PATCH); request.AddParameter("household_id", household.id); _client.ExecuteAsync <DownloadHouseholdModel>(request, rslt => { if (rslt.StatusCode == System.Net.HttpStatusCode.OK) { callback(null, rslt.Data); } else { callback(new Exception("Cannot Toggle Membership\n+" + rslt.Content?.Trim("[]".ToCharArray())), null); } }); }
public void ToggleEvacuationMembership(DownloadPersonModel person, Center center, Action <Exception, Center> callback) { var request = new RestRequest("/api/people/" + person.id + "/toggle_evacuation_membership/", Method.PATCH); request.AddParameter("center_id", center.id); _client.ExecuteAsync <Center>(request, rslt => { if (rslt.StatusCode == System.Net.HttpStatusCode.OK) { callback(null, rslt.Data); } else { callback(new Exception("Cannot Toggle Center Membership\n+" + rslt.Content?.Trim("[]".ToCharArray()) + "\n" + rslt.ErrorMessage), null); } }); }
public void AddPerson(DownloadPersonModel person, Action <Exception, DownloadPersonModel> callback, string choosenPhoto = "") { var request = new RestRequest("/api/people/", Method.POST); request.RequestFormat = DataFormat.Json; request.AddJsonBody(person); _client.ExecuteAsync <DownloadPersonModel>(request, rslt => { if (rslt.StatusCode != System.Net.HttpStatusCode.Created || rslt.ErrorException != null) { callback(new Exception(rslt.ErrorMessage + "\n" + rslt.StatusDescription + "\n" + rslt.Content.Trim("[]".ToCharArray())), null); return; } if (string.IsNullOrEmpty(choosenPhoto) == false) { var reqUpload = new RestRequest("/api/people/" + rslt.Data.id + "/upload/", Method.PATCH); reqUpload.AddFile("Photo", choosenPhoto); _client.ExecuteAsync <DownloadPersonModel>(reqUpload, rsltUpload => { if (rsltUpload.StatusCode == System.Net.HttpStatusCode.OK) { rsltUpload.Data.Photo = NormalizeUri(rsltUpload.Data.Photo); callback(null, rsltUpload.Data); return; } else { callback(null, rslt.Data); return; } }); } callback(null, rslt.Data); }); }