Esempio n. 1
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            var id_operadora = (int)((object[])e.Argument)[0];
            var exps         = new e_expedientes();
            //treeExpedientes.Nodes.Clear();
            var nodes = new List <TreeNode>();

            try
            {
                // expedientes normales
                DataSet ds = exps.Gete_expedientes_operadora_all(id_operadora);
                // agregar al árbol
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    var tn = new LlamadoTreeNode(dr["seis2"] + " / " + dr["cero5"])
                    {
                        ImageKey         = dr["clave"].ToString(),
                        SelectedImageKey = (dr["clave"] + "s")
                    };

                    if ((bool)dr["sit_controlada"])
                    {
                        tn.ImageKey         = dr["clave"] + "-ok";
                        tn.SelectedImageKey = dr["clave"] + "-oks";
                    }
                    tn.NodeId   = (int)dr["id_expediente"];
                    tn.Fecha    = (DateTime)dr["fecha"];
                    tn.NodeType = TipoElemento.Expediente;
                    // carros pedidos
                    var     carros = new e_carros_usados();
                    DataSet dt     = carros.Gete_carros_exp(tn.NodeId);
                    foreach (DataRow dw in dt.Tables[0].Rows)
                    {
                        var te = new LlamadoTreeNode(dw["nombre"].ToString())
                        {
                            ImageKey         = ((string)dw["seis"]),
                            SelectedImageKey = ((string)dw["seis"] + "s"),
                            NodeId           = ((int)dw["id_carro"]),
                            NodeType         = TipoElemento.Carro,
                            NodeOrder        = Convert.ToInt64(dw["id_despachado"])
                        };

                        tn.Nodes.Add(te);
                    }
                    // agregar al árbol
                    //treeExpedientes.Nodes.Add(tn);
                    nodes.Add(tn);
                }
                // expedientes falsos (claves de servicios)
                var ec = new e_carros_usados();
                // -1: 6-13
                ds = ec.Gete_carros_exp(-1);
                if (ds.Tables[0].Rows.Count != 0)
                {
                    var tn = new LlamadoTreeNode("TRAMITE DE COMPAÑIA")
                    {
                        NodeId           = (-1),
                        Fecha            = DateTime.MinValue,
                        ImageKey         = "6-13",
                        SelectedImageKey = "6-13s",
                        NodeType         = TipoElemento.Servicio
                    };

                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        var te = new LlamadoTreeNode(dr["nombre"].ToString())
                        {
                            ImageKey         = ((string)dr["seis"]),
                            SelectedImageKey = ((string)dr["seis"] + "s"),
                            NodeId           = ((int)dr["id_carro"]),
                            NodeType         = TipoElemento.Carro,
                            NodeOrder        = Convert.ToInt64(dr["id_despachado"])
                        };

                        tn.Nodes.Add(te);
                    }
                    //treeExpedientes.Nodes.Add(tn);
                    nodes.Add(tn);
                }

                // -2: 6-14
                ds = ec.Gete_carros_exp(-2);
                if (ds.Tables[0].Rows.Count != 0)
                {
                    var tn = new LlamadoTreeNode("CARGA DE COMBUSTIBLE")
                    {
                        NodeId           = (-2),
                        Fecha            = DateTime.MinValue,
                        ImageKey         = "6-14",
                        SelectedImageKey = "6-14s",
                        NodeType         = TipoElemento.Servicio
                    };

                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        var te = new LlamadoTreeNode(dr["nombre"].ToString())
                        {
                            ImageKey         = ((string)dr["seis"]),
                            SelectedImageKey = ((string)dr["seis"] + "s"),
                            NodeId           = ((int)dr["id_carro"]),
                            NodeType         = TipoElemento.Carro,
                            NodeOrder        = Convert.ToInt64(dr["id_despachado"])
                        };

                        tn.Nodes.Add(te);
                    }
                    //treeExpedientes.Nodes.Add(tn);
                    nodes.Add(tn);
                }

                // -3: 6-15
                ds = ec.Gete_carros_exp(-3);
                if (ds.Tables[0].Rows.Count != 0)
                {
                    var tn = new LlamadoTreeNode("SE DIRIGE A SERVICIO DE SALUD")
                    {
                        NodeId           = (-3),
                        Fecha            = DateTime.MinValue,
                        ImageKey         = "6-15",
                        SelectedImageKey = "6-15s",
                        NodeType         = TipoElemento.Servicio
                    };

                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        var te = new LlamadoTreeNode(dr["nombre"].ToString())
                        {
                            ImageKey         = ((string)dr["seis"]),
                            SelectedImageKey = ((string)dr["seis"] + "s"),
                            NodeId           = ((int)dr["id_carro"]),
                            NodeType         = TipoElemento.Carro,
                            NodeOrder        = Convert.ToInt64(dr["id_despachado"])
                        };

                        tn.Nodes.Add(te);
                    }
                    //treeExpedientes.Nodes.Add(tn);
                    nodes.Add(tn);
                }
            }
            catch (Exception ex)
            {
                Log.ShowAndLog(ex);
            }
            e.Result = new[] { nodes.ToArray(), ((object[])e.Argument)[1] };
        }