private async void btnEli_Clicked(object sender, EventArgs e)
        {
            Content.IsEnabled = false;

            VarGlobal.pro_hallazgo = ((Button)sender).CommandParameter as lc_pro_hallazgo;

            if (VarGlobal.pro_hallazgo.por_avance == 0 &&
                VarGlobal.pro_hallazgo.cod_estado == "01" &&
                VarGlobal.pro_hallazgo.usu_crea == VarGlobal.cod_usuario)
            {
                var popupAlert = new pg_confirmacion(new ent_mensaje
                {
                    tip_mensaje = "WAR",
                    tit_mensaje = "Hallazgo",
                    tex_mensaje = "¿Desea Eliminar Registro?"
                });
                var result = await popupAlert.Show(); //espere hasta que el usuario seleccione la opción (si o no)

                await Navigation.PushPopupAsync(loadingPage);

                if (result)
                {
                    lc_pro_hallazgo_Data o_Data_Hall = new lc_pro_hallazgo_Data();
                    o_Data_Hall.EliminarUno(VarGlobal.pro_hallazgo, false);

                    //InsertarProElimina
                    if (VarGlobal.pro_hallazgo.cod_hallazgo.Length == 12)
                    {
                        lc_pro_elimina_Data o_Data_Eli = new lc_pro_elimina_Data();
                        o_Data_Eli.Insertar(new lc_pro_elimina()
                        {
                            cod_empresa    = VarGlobal.cod_empresa,
                            cod_unidad     = VarGlobal.cod_unidad,
                            cod_modulo     = VarGlobal.pro_hallazgo.cod_modulo,
                            cod_referencia = VarGlobal.pro_hallazgo.cod_hallazgo,
                            ip             = VarGlobal.ip
                        });
                    }
                }
            }
            else
            {
                VarGlobal._mensaje = new pg_mensaje(new ent_mensaje
                {
                    tip_mensaje = "ERR",
                    tit_mensaje = "Error de validación",
                    tex_mensaje = "No se puede eliminar Hallazgo"
                });
                await Navigation.PushPopupAsync(VarGlobal._mensaje);
            }

            await Navigation.RemovePopupPageAsync(loadingPage);

            Content.IsEnabled = true;
        }
        private void ListarInspecciones()
        {
            lc_pro_hallazgo_Data   o_Hallazgo = new lc_pro_hallazgo_Data();
            lc_pro_inspeccion_Data o_Data     = new lc_pro_inspeccion_Data();
            var lista = o_Data.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                              x.cod_unidad == VarGlobal.cod_unidad &&
                                              x.cod_estado == "01" &&
                                              x.cod_personal == VarGlobal.cod_personal).ToList();

            string s_col_base = "#BDBDBD";

            for (int i = 0; i < lista.Count; i++)
            {
                //  Barra de Avance
                lista[i].i_avance = Convert.ToInt32(lista[i].por_avance);
                string s_col_marca = "#41C571";

                lista[i].s_color_00 = s_col_marca;
                lista[i].s_color_01 = lista[i].i_avance > 5 ? s_col_marca : s_col_base;
                lista[i].s_color_02 = lista[i].i_avance > 15 ? s_col_marca : s_col_base;
                lista[i].s_color_03 = lista[i].i_avance > 25 ? s_col_marca : s_col_base;
                lista[i].s_color_04 = lista[i].i_avance > 35 ? s_col_marca : s_col_base;
                lista[i].s_color_05 = lista[i].i_avance > 45 ? s_col_marca : s_col_base;
                lista[i].s_color_06 = lista[i].i_avance > 55 ? s_col_marca : s_col_base;
                lista[i].s_color_07 = lista[i].i_avance > 65 ? s_col_marca : s_col_base;
                lista[i].s_color_08 = lista[i].i_avance > 75 ? s_col_marca : s_col_base;
                lista[i].s_color_09 = lista[i].i_avance > 85 ? s_col_marca : s_col_base;
                lista[i].s_color_10 = lista[i].i_avance > 95 ? s_col_marca : s_col_base;

                if (lista[i].sincronizado)
                {
                    lista[i].sincr_color = "#04B404";
                }
                else
                {
                    lista[i].sincr_color = "#DF0101";
                }

                //  Cantidad de Hallazgos
                lista[i].num_hallazgo = o_Hallazgo.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                                                  x.cod_unidad == VarGlobal.cod_unidad &&
                                                                  x.cod_referencia == lista[i].cod_inspeccion).Count();
                lista[i].ver_hallazgo = lista[i].num_hallazgo > 0;
            }
            InspeccionlistView.ItemsSource = lista.OrderByDescending(x => x.cod_inspeccion).ToList();
        }
        private async void btn_grabar_Clicked(object sender, EventArgs e)
        {
            if (!ValidarObservacion())
            {
                var popupAlert = new pg_confirmacion(new ent_mensaje
                {
                    tip_mensaje = "INF",
                    tit_mensaje = "Observación Preventiva",
                    tex_mensaje = "¿Desea Grabar Registro?"
                });
                var result = await popupAlert.Show(); //espere hasta que el usuario seleccione la opción (si o no)

                await Navigation.PushPopupAsync(loadingPage);

                if (result)
                {
                    lc_pro_hallazgo_Data o_Data = new lc_pro_hallazgo_Data();
                    //  Generar Codigo, solo si viene VACIO O NULO
                    if (string.IsNullOrEmpty(VarGlobal.pro_hallazgo.cod_hallazgo))
                    {
                        var    conteo   = (o_Data.Listar().Count) + 1;
                        var    año      = VarGlobal.pro_hallazgo.fec_hallazgo.Substring(8, 2);
                        var    mes      = VarGlobal.pro_hallazgo.fec_hallazgo.Substring(3, 2);
                        string s_codigo = "HL" + año + mes + "-" + conteo;

                        VarGlobal.pro_hallazgo.cod_hallazgo = s_codigo;
                        VarGlobal.pro_hallazgo.cod_personal = lbl_cod_personal.Text;
                        VarGlobal.pro_hallazgo.nom_personal = lbl_reportado.Text;
                        GrabarTarea();
                    }
                    VarGlobal.pro_hallazgo.sincronizado = false;
                    o_Data.Modificar(VarGlobal.pro_hallazgo);
                    if (VarGlobal.cod_modulo == "OB")
                    {
                        await Navigation.PushModalAsync(new MasterDetailPage1(VarGlobal.ret_hallazgo_hijo));
                    }
                    else
                    {
                        Retornar();
                    }
                }
                await Navigation.RemovePopupPageAsync(loadingPage);
            }
        }
        private void ListarObservaciones()
        {
            lc_pro_hallazgo_Data   o_Data  = new lc_pro_hallazgo_Data();
            lc_pro_tarea_Data      o_Tarea = new lc_pro_tarea_Data();
            List <lc_pro_hallazgo> lista   = new List <lc_pro_hallazgo>();

            if (VarGlobal.pro_hallazgo.cod_modulo == "OB")
            {
                lista = o_Data.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                              x.cod_unidad == VarGlobal.cod_unidad &&
                                              x.cod_modulo == VarGlobal.pro_hallazgo.cod_modulo &&
                                              x.cod_estado == "01" &&
                                              x.cod_personal == VarGlobal.cod_personal
                                              ).ToList();
            }
            else
            {
                lista = o_Data.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                              x.cod_unidad == VarGlobal.cod_unidad &&
                                              x.cod_modulo == VarGlobal.pro_hallazgo.cod_modulo &&
                                              x.cod_estado == "01" &&
                                              x.cod_referencia == VarGlobal.pro_hallazgo.cod_referencia &&
                                              x.cod_personal == VarGlobal.cod_personal
                                              ).ToList();
            }
            string s_col_base = "#BDBDBD";

            for (int i = 0; i < lista.Count; i++)
            {
                //  Barra de Avance
                lista[i].i_avance = Convert.ToInt32(lista[i].por_avance);
                string s_col_marca = "#41C571";

                lista[i].s_color_00 = s_col_marca;
                lista[i].s_color_01 = lista[i].i_avance > 5 ? s_col_marca : s_col_base;
                lista[i].s_color_02 = lista[i].i_avance > 15 ? s_col_marca : s_col_base;
                lista[i].s_color_03 = lista[i].i_avance > 25 ? s_col_marca : s_col_base;
                lista[i].s_color_04 = lista[i].i_avance > 35 ? s_col_marca : s_col_base;
                lista[i].s_color_05 = lista[i].i_avance > 45 ? s_col_marca : s_col_base;
                lista[i].s_color_06 = lista[i].i_avance > 55 ? s_col_marca : s_col_base;
                lista[i].s_color_07 = lista[i].i_avance > 65 ? s_col_marca : s_col_base;
                lista[i].s_color_08 = lista[i].i_avance > 75 ? s_col_marca : s_col_base;
                lista[i].s_color_09 = lista[i].i_avance > 85 ? s_col_marca : s_col_base;
                lista[i].s_color_10 = lista[i].i_avance > 95 ? s_col_marca : s_col_base;

                var nivel = lista[i].nom_tblnivelriesgo;
                switch (nivel)
                {
                case "ALTO":
                    lista[i].niv_color = "#FF0000";
                    break;

                case "MEDIO":
                    lista[i].niv_color = "#FF8000";
                    break;

                case "BAJO":
                    lista[i].niv_color = "#FFBF00";
                    break;
                }
                if (lista[i].sincronizado)
                {
                    lista[i].sincr_color = "#04B404";
                }
                else
                {
                    lista[i].sincr_color = "#DF0101";
                }

                if (lista[i].cod_modulo == "OB")
                {
                    lista[i].ver_clase = false;
                }
                else
                {
                    lista[i].ver_clase = true;
                }

                switch (lista[i].cod_tipoubicacion)
                {
                case "E":
                    lista[i].nom_ubicacion = lista[i].nom_equipo;
                    break;

                case "I":
                    lista[i].nom_ubicacion = lista[i].nom_labor;
                    break;

                case "S":
                    lista[i].nom_ubicacion = lista[i].nom_lugar;
                    break;
                }

                //  Cantidad de Tareas
                lista[i].num_tarea = o_Tarea.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                                            x.cod_unidad == VarGlobal.cod_unidad &&
                                                            x.cod_referencia == lista[i].cod_hallazgo).Count();
                lista[i].ver_tarea = lista[i].num_tarea > 0;
            }
            ObservacionlistView.ItemsSource = lista.OrderByDescending(x => x.cod_hallazgo).ToList();
        }