public async Task <bool> SaveDonationAsync(string donationTitle, MediaFile mediaFile, int quantity, string donationType, DateTime expirationDate, TimeSpan expirationTime) { byte[] filebytes = null; if (mediaFile != null) { filebytes = ReadFully(mediaFile.GetStream()); } var donationCapture = new DonationCapture { Expiration = expirationDate.Add(expirationTime), Image = filebytes, Amount = quantity, Title = donationTitle, Type = donationType }; var serializedDonationCapture = JsonConvert.SerializeObject(donationCapture); var message = new HttpRequestMessage(HttpMethod.Post, App.BackendUrl + "/api/donations"); message.Content = new StringContent(serializedDonationCapture, Encoding.UTF8, "application/json"); var response = await App.ApiClient.SendAsync(message); return(response.IsSuccessStatusCode); }
private async Task ExecuteRelistCommand(int id) { DonationCapture capture = new DonationCapture() { Title = DonationTitle, Type = DonationType, Amount = Quantity, Expiration = ExpirationDate.Add(ExpirationTime) }; var okToProceed = await CheckRemoveRecipient(); if (okToProceed) { IsBusy = true; EnterCommand.ChangeCanExecute(); var res = await donationRep.RelistDonationAsync(capture, donation.Id, mediaFile); IsBusy = false; EnterCommand.ChangeCanExecute(); if (!res) { ShowFailureDialog("Unable to Relist"); } else { await Page.Navigation.PopToRootAsync(); } } }
public async Task <bool> RelistDonationAsync(DonationCapture capture, int donationId, MediaFile mediaFile) { byte[] filebytes = null; if (mediaFile != null) { filebytes = ReadFully(mediaFile.GetStream()); } capture.Image = filebytes; var content = new StringContent(JsonConvert.SerializeObject(capture), Encoding.UTF8, "application/json"); var response = await App.ApiClient.PutAsync($"api/donations/{donationId}/relist", content); return(response.IsSuccessStatusCode); }