private async Task GoToPersonalizedReportAsync() { using (UserDialogs.Instance.Loading("Loading")) { PersonalizedReports PersonalizedReports = new PersonalizedReports(); PersonalizedReports.BindingContext = this; FilterRaports = new FilterRaports(); Clients = App.instance.DashboardViewModel.Clients; Cars = App.instance.DashboardViewModel.Cars; OnPropertyChanged("Clients"); OnPropertyChanged("Cars"); await App.instance.PushAsyncNewPage(PersonalizedReports); } }
private async Task <object> GetPdfAsync() { switch (Device.RuntimePlatform) { case Device.Android: var statusread = await Permissions.RequestAsync <Permissions.StorageRead>(); var statuswrite = await Permissions.RequestAsync <Permissions.StorageWrite>(); if (statusread != Xamarin.Essentials.PermissionStatus.Granted || statuswrite != Xamarin.Essentials.PermissionStatus.Granted) { var cameraresults = await Permissions.RequestAsync <Permissions.StorageWrite>(); var storageResults = await Permissions.RequestAsync <Permissions.StorageWrite>(); } break; } var filter = new FilterRaports(); var json = JsonConvert.SerializeObject(filter); App.client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json"); HttpContent httpContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await App.client.PostAsync(App.API_URL_BASE + "rentedcars/pdf/filtered", httpContent); if (response.StatusCode != System.Net.HttpStatusCode.OK) { UserDialogs.Instance.Alert("Probleme me server, Provoni Perseri", "Error", "Ok"); return(null); } else { var responseString = await response.Content.ReadAsStringAsync(); var pdfcontent = JsonConvert.DeserializeObject <byte[]>(responseString); using (MemoryStream ms = new MemoryStream(pdfcontent)) { //await Xamarin.Forms.DependencyService.Get<ISave>().SaveAndView("Output.pdf", "application/pdf", ms); } DependencyService.Get <IFileLauncher>().Open(pdfcontent, $"Rent---.pdf"); return(null); } }