private async void Button_RetryBill_Clicked(object sender, EventArgs e) { App.ShowLoading(true); ActualBill = this.BindingContext as DataContracts.Model.Bill; ActualBill.EmissionDate = null; ActualBill.LastSendDate = null; ActualBill.ClientId = ActualBill.SoldProductsJSON.ClientId; try { // Remove Unused Products ActualBill.SoldProductsJSON.RemoveProductsWithoutQuantity(); var vRetryBillProxy = new BusinessProxy.Bill.TryToBillWithHacienda(); var vBillRequest = new BusinessProxy.Models.BillRequest { SSOT = App.SSOT, User = App.ActualUser, ClientBill = ActualBill, }; var vRetryResponse = await vRetryBillProxy.GetDataAsync(vBillRequest); // For testing var jsonTEST = Newtonsoft.Json.JsonConvert.SerializeObject(vBillRequest); if (vRetryResponse != null) { if (vRetryResponse.IsSuccessful) { App.ShowLoading(false); Button_RetryBill.IsEnabled = false; Button_RetryBill.IsVisible = false; await Toasts.ToastRunner.ShowSuccessToast("", "Se ha podido enviar con éxito"); } else { App.ShowLoading(false); await DisplayAlert("", string.IsNullOrEmpty(vRetryResponse.TechnicalMessage)? vRetryResponse.UserMessage : vRetryResponse.TechnicalMessage, "Ok"); //await Toasts.ToastRunner.ShowErrorToast("Sistema", vRetryResponse.UserMessage); //await DisplayAlert("", vRetryResponse.TechnicalMessage, "Ok"); } EditorSystemMessage.Text = vRetryResponse.UserMessage; } else { App.ShowLoading(false); await DisplayAlert("", "Respuesta Null", "Ok"); } } catch (Exception ex) { await Toasts.ToastRunner.ShowErrorToast("Sistema", ex.Message); } }
private async void Button_SeeBill_Clicked(object sender, EventArgs e) { try { var vGetBillInvoiceClient = new BusinessProxy.Bill.GetBillInvoice(); var vBillRequest = new BusinessProxy.Models.BillRequest { SSOT = App.SSOT, User = App.ActualUser, ClientBill = ActualBill, }; var vGetBillInvoiceResponse = await vGetBillInvoiceClient.GetDataAsync(vBillRequest); if (vGetBillInvoiceResponse.IsSuccessful) { var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Storage); if (status != PermissionStatus.Granted) { await CrossPermissions.Current.ShouldShowRequestPermissionRationaleAsync(Permission.Storage); var results = await CrossPermissions.Current.RequestPermissionsAsync(Permission.Storage); //Best practice to always check that the key exists if (results.ContainsKey(Permission.Storage)) { status = results[Permission.Storage]; } } if (status == PermissionStatus.Granted) { DependencyService.Get <IReportingService>().SaveAndOpenFile("Factura" + ActualBill.ConsecutiveNumber + ".pdf", vGetBillInvoiceResponse.PdfInvoice); } else if (status != PermissionStatus.Unknown) { await DisplayAlert("No hay Permisos", "Agrega el permiso de storage", "OK"); } } else { await this.DisplayAlert("Error", string.IsNullOrEmpty(vGetBillInvoiceResponse.UserMessage)? vGetBillInvoiceResponse.TechnicalMessage : vGetBillInvoiceResponse.UserMessage, "ok"); } } catch (Exception vEx) { await this.DisplayAlert("Error", vEx.ToString(), "ok"); } }
private async void Generate_Bill(object sender, EventArgs e) { App.ShowLoading(true); ActualBill = this.BindingContext as DataContracts.Model.Bill; ActualBill.EmissionDate = null; ActualBill.LastSendDate = null; ActualBill.ClientId = ActualBill.SoldProductsJSON.ClientId; try { // Remove Unused Products ActualBill.SoldProductsJSON.RemoveProductsWithoutQuantity(); var vCreateUserBills = new BusinessProxy.Bill.CreateBill(); var vBillRequest = new BusinessProxy.Models.BillRequest { SSOT = App.SSOT, User = App.ActualUser, ClientBill = ActualBill, }; // For testing var jsonTEST = Newtonsoft.Json.JsonConvert.SerializeObject(vBillRequest); var vCreateBillsResponse = await vCreateUserBills.GetDataAsync(vBillRequest); if (vCreateBillsResponse != null) { if (vCreateBillsResponse.IsSuccessful) { App.ShowLoading(false); if (vCreateBillsResponse.PdfInvoice != null) { DependencyService.Get <IReportingService>().SaveAndOpenFile("Factura" + vCreateBillsResponse.BillNumber + ".pdf", vCreateBillsResponse.PdfInvoice); } await Navigation.PopToRootAsync(); await Toasts.ToastRunner.ShowSuccessToast("Sistema", string.IsNullOrEmpty(vCreateBillsResponse.UserMessage)?"Se procesará la solicitud de la factura N°" + vCreateBillsResponse.BillNumber : vCreateBillsResponse.UserMessage ); } else { App.ShowLoading(false); //await Toasts.ToastRunner.ShowErrorToast("Sistema", vCreateBillsResponse.UserMessage); await DisplayAlert("", string.IsNullOrEmpty(vCreateBillsResponse.UserMessage)? vCreateBillsResponse.TechnicalMessage : vCreateBillsResponse.UserMessage, "Ok"); await Navigation.PopToRootAsync(); } } else { App.ShowLoading(false); await DisplayAlert("", "Respuesta Null", "Ok"); } } catch (Exception vEx) { await DisplayAlert("Error", vEx.ToString(), "Ok"); } }