Beispiel #1
0
        private void GrabarAvance(string s_tipo_avance)
        {
            lc_pro_avance_Data o_Data = new lc_pro_avance_Data();

            o_Data.Insertar(new lc_pro_avance
            {
                cod_empresa    = VarGlobal.pro_tarea.cod_empresa,
                cod_unidad     = VarGlobal.pro_tarea.cod_unidad,
                cod_personal   = VarGlobal.cod_personal,
                nom_personal   = VarGlobal.nom_personal,
                fec_avance     = DateTime.Now.ToString("dd/MM/yyyy"),
                por_avance     = Convert.ToInt32(lblAvance.Text),
                des_avance     = edComentario.Text,
                num_avance     = VarGlobal.num_etapa,
                tip_avance     = s_tipo_avance,
                cod_modulo     = "TR",
                sincronizado   = false,
                cod_referencia = VarGlobal.pro_tarea.cod_tarea,
                usuario        = VarGlobal.cod_usuario,
                ip             = VarGlobal.ip
            });
        }
        private void ListarTareas()
        {
            lc_pro_avance_Data  o_Avance = new lc_pro_avance_Data();
            lc_pro_tarea_Data   o_Data   = new lc_pro_tarea_Data();
            List <lc_pro_tarea> lista    = o_Data.Listar();

            if (VarGlobal.cod_modulo == "")
            {
                switch (VarGlobal.ver_opcion)
                {
                case "A":
                    lista = lista.Where(x => x.eje_personal == VarGlobal.cod_personal && x.ver_opcion.Contains("A")).ToList();
                    break;

                case "V":
                    lista = lista.Where(x => x.sol_personal == VarGlobal.cod_personal && x.ver_opcion.Contains("V")).ToList();
                    break;

                case "X":
                    lista = lista.Where(x => x.sol_personal != VarGlobal.cod_personal &&
                                        x.eje_personal != VarGlobal.cod_personal &&
                                        x.ver_opcion.Contains("X")).ToList();
                    break;

                case "S":
                    lista = lista.Where(x => x.usu_crea == VarGlobal.cod_usuario).ToList();
                    break;
                }
            }
            else
            {
                lista = lista.Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                    x.cod_unidad == VarGlobal.cod_unidad &&
                                    x.cod_referencia == VarGlobal.cod_referencia).ToList();
            }


            string s_col_base = "#BDBDBD";

            for (int i = 0; i < lista.Count; i++)
            {
                lista[i].fecha = lista[i].ini_tarea + " - " + lista[i].fin_tarea;

                //  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;

                lista[i].coment_boton = (lista[i].cod_tarea.Trim().Length == 12);

                switch (lista[i].cod_estado)
                {
                case "01":
                case "03":
                    lista[i].btn_opcion = "fa-rocket";
                    lista[i].ena_boton  = true;
                    break;

                case "02":
                    lista[i].btn_opcion = "fa-gavel";
                    lista[i].ena_boton  = true;
                    break;

                case "04":
                    lista[i].ena_boton    = false;
                    lista[i].coment_boton = false;
                    break;
                }
                //  opción para mostrar el botón de atender o verificar
                lista[i].ver_btnAtender = (VarGlobal.ver_opcion == "A" || VarGlobal.ver_opcion == "V");


                if (lista[i].sincronizado)
                {
                    lista[i].sincr_color = "#04B404";
                }
                else
                {
                    lista[i].sincr_color = "#DF0101";
                }
                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 Comentarios
                lista[i].num_comentario = o_Avance.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                                                  x.cod_unidad == VarGlobal.cod_unidad &&
                                                                  x.cod_referencia == lista[i].cod_tarea).Count();
                lista[i].ver_comentario = lista[i].num_comentario > 0;
            }
            AccionlistView.ItemsSource = lista;
        }
        private void CargarAvances()
        {
            lc_pro_avance_Data o_Data = new lc_pro_avance_Data();
            var lista = o_Data.Listar();
            List <lc_pro_avance> lst_avance = o_Data.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                                                    x.cod_unidad == VarGlobal.cod_unidad &&
                                                                    x.cod_referencia == VarGlobal.pro_tarea.cod_tarea).OrderByDescending(x => x.num_avance).ToList();

            CargarEvidencias();

            for (int i = 0; i < lst_avance.Count; i++)
            {
                int i_num_etapa   = lst_avance[i].num_avance;
                var ent_evidencia = VarGlobal.pro_tarea.lst_lc_pro_evidencia.Where(x => x.num_etapa == i_num_etapa).FirstOrDefault();

                var tipo = lst_avance[i].tip_avance;
                if (tipo == "A")
                {
                    lst_avance[i].vpor_avance = lst_avance[i].por_avance.ToString().Trim() + "%";
                }
                else
                {
                    lst_avance[i].vpor_avance = "";
                }

                //  CREANDO STACKLAYOUT CONTENEDOR.
                StackLayout stCon = new StackLayout
                {
                    Orientation     = StackOrientation.Horizontal,
                    Margin          = new Thickness(0, 0, 0, 1),
                    Spacing         = 0,
                    Padding         = 5,
                    BackgroundColor = Color.White,
                    Children        =
                    {
                        new IconImage {
                            Icon            = "fa-user-circle",
                            IconColor       = Color.Black,
                            VerticalOptions = LayoutOptions.Start,
                            Margin          = new Thickness(0, 0, 5, 0),
                            IconSize        = 20,
                            WidthRequest    = 30,
                            HeightRequest   = 30
                        }
                    }
                };

                StackLayout stHij = new StackLayout
                {
                    Orientation       = StackOrientation.Vertical,
                    Spacing           = 0,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    Children          =
                    {
                        new Label {
                            Text           = lst_avance[i].nom_personal,
                            TextColor      = Color.Black,
                            FontAttributes = FontAttributes.Bold,
                            FontSize       = 12
                        },
                        new Label {
                            Text      = lst_avance[i].fec_avance, Margin = 0,
                            FontSize  = 11,
                            TextColor = Color.Gray
                        },
                        new Label {
                            Text      = lst_avance[i].vpor_avance.ToString().Trim() + " de Avance.",
                            FontSize  = 11,
                            TextColor = Color.FromHex("#5F6A6A"),
                            IsVisible = (lst_avance[i].tip_avance == "A")
                        },
                        new Label {
                            HorizontalOptions = LayoutOptions.FillAndExpand,
                            Text      = lst_avance[i].des_avance.Trim(),
                            Margin    = new Thickness(0, 5, 0, 0),
                            FontSize  = 11,
                            TextColor = Color.FromHex("#2E2E2E")
                        }
                    }
                };

                // CREANDO IMAGEN
                if (ent_evidencia != null)
                {
                    Stream stream  = new MemoryStream(ent_evidencia.dat_evidencia);
                    Image  imgFoto = new Image
                    {
                        Source            = ImageSource.FromStream(() => { return(stream); }),
                        HeightRequest     = 150,
                        HorizontalOptions = LayoutOptions.Start
                    };
                    stHij.Children.Add(imgFoto);
                }
                //Device.BeginInvokeOnMainThread(() =>
                //{
                //    stCon.Children.Add(stHij);
                //    stPri.Children.Add(stCon);
                //});
                stCon.Children.Add(stHij);
                stPri.Children.Add(stCon);
            }
            //OCULTAR ICONO
            //Device.BeginInvokeOnMainThread(() =>
            //{
            //    aiAva.IsVisible = false;
            //});
            aiAva.IsVisible = false;
        }
Beispiel #4
0
        private async void btnGrabar_Clicked(object sender, EventArgs e)
        {
            lc_aux_estado_Data o_Data_Est = new lc_aux_estado_Data();
            var loadingPage = new pg_Loading();
            var comentar    = VarGlobal.comentar;
            var imagen      = img_foto.Source;

            if (comentar == 1)
            {
                if (!ValidarComentar())
                {
                    var popupAlert = new pg_confirmacion(new ent_mensaje
                    {
                        tip_mensaje = "INF",
                        tit_mensaje = "Tárea",
                        tex_mensaje = "¿Desea Comentar Tárea?"
                    });
                    var result = await popupAlert.Show();

                    await Navigation.PushPopupAsync(loadingPage);

                    if (result)
                    {
                        lc_pro_avance_Data o_Data = new lc_pro_avance_Data();
                        var i_numetapa            = o_Data.Listar().Where(x => x.cod_referencia == VarGlobal.pro_tarea.cod_tarea).Count();
                        VarGlobal.num_etapa = (i_numetapa + 1);


                        GrabarAvance("C");
                        lc_pro_tarea_Data o_Data_Tar = new lc_pro_tarea_Data();
                        VarGlobal.pro_tarea.por_avance   = Convert.ToInt32(lblAvance.Text);
                        VarGlobal.pro_tarea.des_avance   = edComentario.Text;
                        VarGlobal.pro_tarea.sincronizado = false;
                        GrabarEvidencia();
                        o_Data_Tar.Modificar(VarGlobal.pro_tarea);

                        Retornar();
                    }
                    await Navigation.RemovePopupPageAsync(loadingPage);
                }
            }
            else
            {
                var opcion = VarGlobal.ver_opcion;
                switch (opcion)
                {
                case "A":
                    if (!ValidarAtender())
                    {
                        var popupAlert = new pg_confirmacion(new ent_mensaje
                        {
                            tip_mensaje = "INF",
                            tit_mensaje = "Tárea",
                            tex_mensaje = "¿Desea Atender Tárea?"
                        });
                        var result = await popupAlert.Show();

                        await Navigation.PushPopupAsync(loadingPage);

                        if (result)
                        {
                            lc_pro_avance_Data o_Data = new lc_pro_avance_Data();
                            var i_numetapa            = o_Data.Listar().Where(x => x.cod_referencia == VarGlobal.pro_tarea.cod_tarea).Count();
                            VarGlobal.num_etapa = (i_numetapa + 1);
                            GrabarAvance("A");

                            lc_pro_tarea_Data o_Data_Tar = new lc_pro_tarea_Data();
                            VarGlobal.pro_tarea.por_avance   = Convert.ToInt32(lblAvance.Text);
                            VarGlobal.pro_tarea.des_avance   = edComentario.Text;
                            VarGlobal.pro_tarea.sincronizado = false;
                            if (VarGlobal.pro_tarea.por_avance == 100)
                            {
                                lc_aux_estado ent_estado = o_Data_Est.Listar().Where(x => x.cod_empresa == VarGlobal.cod_empresa &&
                                                                                     x.cod_modulo == "TR" &&
                                                                                     x.cod_estado == "02").FirstOrDefault();
                                VarGlobal.pro_tarea.cod_estado = ent_estado.cod_estado;
                                VarGlobal.pro_tarea.nom_estado = ent_estado.nom_estado;
                                VarGlobal.pro_tarea.ver_opcion = ent_estado.ver_opcion;
                            }
                            GrabarEvidencia();
                            o_Data_Tar.Modificar(VarGlobal.pro_tarea);

                            Retornar();
                        }
                        await Navigation.RemovePopupPageAsync(loadingPage);
                    }
                    break;

                case "V":
                    if (!ValidarVerificar())
                    {
                        var popupAlert = new pg_confirmacion(new ent_mensaje
                        {
                            tip_mensaje = "INF",
                            tit_mensaje = "Tárea",
                            tex_mensaje = "¿Desea Verificar Tárea?"
                        });
                        var result = await popupAlert.Show();

                        await Navigation.PushPopupAsync(loadingPage);

                        if (result)
                        {
                            lc_pro_estado_Data o_Data = new lc_pro_estado_Data();
                            var i_numetapa            = o_Data.Listar().Where(x => x.cod_referencia == VarGlobal.pro_tarea.cod_tarea).Count();
                            VarGlobal.num_etapa = (i_numetapa + 1);

                            //lc_aux_estado pk_estado = pkEstado.SelectedItem as lc_aux_estado;
                            lc_aux_estado pk_estado = plst_estado.Where(x => x.cod_estado == VarGlobal.pro_tarea.cod_estado).FirstOrDefault();

                            o_Data.Insertar(new lc_pro_estado
                            {
                                cod_empresa    = VarGlobal.cod_empresa,
                                cod_unidad     = VarGlobal.cod_unidad,
                                cod_personal   = VarGlobal.cod_personal,
                                cod_estado     = pk_estado.cod_estado,
                                des_estado     = edComentario.Text,
                                cod_modulo     = "TR",
                                sincronizado   = false,
                                cod_referencia = VarGlobal.pro_tarea.cod_tarea,
                                usuario        = VarGlobal.cod_usuario,
                                ip             = "App"
                            });

                            lc_pro_tarea_Data o_Data_Tar = new lc_pro_tarea_Data();
                            VarGlobal.pro_tarea.des_avance   = edComentario.Text;
                            VarGlobal.pro_tarea.sincronizado = false;
                            VarGlobal.pro_tarea.cod_estado   = pk_estado.cod_estado;
                            VarGlobal.pro_tarea.nom_estado   = pk_estado.nom_estado;
                            VarGlobal.pro_tarea.ver_opcion   = pk_estado.ver_opcion;

                            GrabarEvidencia();
                            o_Data_Tar.Modificar(VarGlobal.pro_tarea);

                            Retornar();
                        }
                        await Navigation.RemovePopupPageAsync(loadingPage);
                    }
                    break;
                }
            }
        }