public PopupPageDoc(Documento.Datum documentoSeleccionado) { datum = documentoSeleccionado; //DocumentoId.Text = datum.DocumentoId.ToString(); //https://xamarinlatino.com/como-trabajar-con-ventanas-emergentes-pop-up-avanzados-en-xamarin-forms-7ebe109b0a37 //https://www.youtube.com/watch?v=dOU0Qei3Qlk&t=438s //https://askxammy.com/how-to-work-with-advanced-pop-ups-in-xamarin-forms/ InitializeComponent(); datum = documentoSeleccionado; Nemonico.Text += datum.Nemonico.ToString(); NombreArchivo.Text += documentoSeleccionado.NombreArchivo.ToString(); SubTipoServicio.Text += documentoSeleccionado.SubTipoServicio.ToString(); Fecha.Text = documentoSeleccionado.FechaRegistroString; }
protected override async void OnAppearing() { String IP_LEGAL = App.Current.Properties["IpPublicado"].ToString(); Documento documento = new Documento(); //https://dzone.com/articles/mobile-alerts-in-xamarin if (estadoNom.Equals("POR APROBAR")) { String servicio = ""; if (rol.Equals("1003") || rol.Equals("1004")) { servicio = "DocumentoPorResponsableRevisionListarExternoJson"; } else { servicio = "DocumentoPorEspecialistaListarExternoJson"; } //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp"; String url = IP_LEGAL + "/legal/Documento/" + servicio + "?estadoProcesoId=" + estadoId + "&usuarioId=" + usuarioId; var service = new RestClient <Documento>(); documento = await service.GetRestServicieDataAsync(url); ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data); DocumentosEnTramite_List.ItemsSource = docDatas; } else if (estadoNom.Equals("APROBADOS")) { var post = new { empleadoId = empleadoId, perfil = rol }; String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosAprobadosApp"; //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp"; var service = new RestClient <Documento>(); documento = await service.GetRestServicieDataPostAsync(url, post); ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data); DocumentosEnTramite_List.ItemsSource = docDatas; } else if (estadoNom.Equals("RECHAZADOS")) { var post = new { empleadoId = empleadoId, perfil = rol }; String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosRechazadosApp"; //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp"; var service = new RestClient <Documento>(); documento = await service.GetRestServicieDataPostAsync(url, post); ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data); DocumentosEnTramite_List.ItemsSource = docDatas; } else if (estadoNom.Equals("STATUS TRAMITE")) { var post = new { empleadoId = empleadoId }; String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp"; var service = new RestClient <Documento>(); documento = await service.GetRestServicieDataPostAsync(url, post); docDatas = new ObservableCollection <Documento.Datum>(documento.data); DocumentosEnTramite_List.ItemsSource = docDatas; } else { String servicio = ""; if (rol.Equals("1003") || rol.Equals("1004")) { servicio = "DocumentoPorResponsableRevisionListarExternoJson"; } else { servicio = "DocumentoPorEspecialistaListarExternoJson"; } //String url = IP_LEGAL + "/legal/RevisionDocumento/ListarDocumentosPorControlStatusApp"; String url = IP_LEGAL + "/legal/Documento/" + servicio + "?estadoProcesoId=" + estadoId + "&usuarioId=" + usuarioId; var service = new RestClient <Documento>(); documento = await service.GetRestServicieDataAsync(url); ObservableCollection <Documento.Datum> docDatas = new ObservableCollection <Documento.Datum>(documento.data); DocumentosEnTramite_List.ItemsSource = docDatas; } #region Listener click a un item de la lista if (counter == 0) { DocumentosEnTramite_List.ItemSelected += async(sender, e) => { if (e.SelectedItem != null) { //popupListView.IsVisible = true; documentoSeleccionado = (Documento.Datum)e.SelectedItem; //todo poup nuevo xmal //var animationPopup = new PopupPageDoc(e.SelectedItem as Documento.Datum); //fin todo poup nuevo xmal Rg.Plugins.Popup.Pages.PopupPage animationPopup = new Rg.Plugins.Popup.Pages.PopupPage(); var scaleAnimation = new ScaleAnimation { PositionIn = MoveAnimationOptions.Bottom, PositionOut = MoveAnimationOptions.Bottom, ScaleIn = 1, ScaleOut = 1, //DurationIn = 400, //DurationOut = 800, EasingIn = Easing.Linear, //EasingOut = Easing.CubicOut, HasBackgroundAnimation = true, }; Label Status = new Label { Text = "Status: " + documentoSeleccionado.Status, FontSize = 13, HorizontalOptions = LayoutOptions.Center, Margin = 2, FontAttributes = FontAttributes.Bold }; Label NombreArchivo = new Label { Text = "Nemonico: " + documentoSeleccionado.NombreArchivo, FontSize = 14, HorizontalOptions = LayoutOptions.Center, Margin = 2 }; Label Nemonico = new Label { Text = documentoSeleccionado.Nemonico, FontSize = 14, HorizontalOptions = LayoutOptions.Center, Margin = 2 }; Label SubTipoServicio = new Label { Text = "Tipo Contrato: " + documentoSeleccionado.SubTipoServicio, FontSize = 14, HorizontalOptions = LayoutOptions.Center, Margin = 2 }; Label Fecha = new Label { Text = documentoSeleccionado.FechaRegistroString, TextColor = Color.Brown, FontSize = 13, HorizontalOptions = LayoutOptions.Center, Margin = 2 }; Button btnAprobarDocumento = new Button { Text = "APROBAR DOCUMENTO", BackgroundColor = Color.DarkGoldenrod, HeightRequest = 35, VerticalOptions = LayoutOptions.CenterAndExpand, TextColor = Color.White }; btnAprobarDocumento.Clicked += BtnAprobarDocumento_ClickedAsync; Button btnCancelarDocumento = new Button { Text = "RECHAZAR DOCUMENTO", BackgroundColor = Color.OrangeRed, HeightRequest = 35, VerticalOptions = LayoutOptions.CenterAndExpand, TextColor = Color.White }; btnCancelarDocumento.Clicked += BtnCancelarDocumento_Clicked; if (!estadoNom.Equals("POR APROBAR")) { btnAprobarDocumento.IsVisible = false; btnCancelarDocumento.IsVisible = false; } animationPopup.Content = new StackLayout { VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, Padding = 0, Margin = 0, Children = { new Frame { Padding = 15, HeightRequest = 300, WidthRequest = 270, Content = new StackLayout { Children = { Status, NombreArchivo, Nemonico, SubTipoServicio, Fecha, btnAprobarDocumento, btnCancelarDocumento } } } } }; animationPopup.Animation = scaleAnimation; //PopupNavigation.PushAsync(animationPopup); await PopupNavigation.Instance.PushAsync(animationPopup); DocumentosEnTramite_List.SelectedItem = null; } }; counter++; } #endregion fin Listener base.OnAppearing(); }