コード例 #1
0
        private void cargarBigrada()
        {
            int IdSucursal = Mgr_Sucursal.Set_IdSucursalDDl(ObjUsuario, ddlSucursal);
            int idBrigada  = Mgr_Documento.Get_BrigadaEmergencias(IdSucursal);

            if (idBrigada != 0)
            {
                List <brigada_emergencia> ListaBrigadaEmergencia = new List <brigada_emergencia>();
                ListaBrigadaEmergencia = Mgr_Documento.Get_BrigadaEmergencia(idBrigada);

                if (ListaBrigadaEmergencia.Count > 0)
                {
                    foreach (var item in ListaBrigadaEmergencia)
                    {
                        txtPerfiles.Text       = item.perfiles;
                        txtFuncBrig.Text       = item.func_brigadistas;
                        txtBrigCom.Text        = item.brigada_comunicacion;
                        txtDirEmeInt.Text      = item.dir_emergencia_int;
                        txtBrigPriAux.Text     = item.brigada_prim_aux;
                        txtBrigIncendio.Text   = item.brigada_incendio;
                        txtBrigEvacuacion.Text = item.brigada_evacuacion;
                    }
                }

                List <procedimiento_comunicacion> ListaProcedimientoComunicacion = new List <procedimiento_comunicacion>();
                ListaProcedimientoComunicacion = Mgr_Documento.Get_ProcedimientoComunicacion(idBrigada);

                crearCampos((ListaProcedimientoComunicacion.Count));

                int contador = 1;
                int posicion = 3;

                if (ListaProcedimientoComunicacion.Count > 0)
                {
                    foreach (var item in ListaProcedimientoComunicacion)
                    {
                        if (contador == 1)
                        {
                            ddlTrabjador1.SelectedValue = item.nombre;
                            txtCargo1.Text              = item.cargo;
                            txtTelefono1.Text           = item.num_telefono;
                            ddlTrabjador2.SelectedValue = item.llamar;
                        }
                        else
                        {
                            DropDownList miDropDownList1 = (DropDownList)pTrabajador.FindControl("ddlTrabjador" + posicion);
                            miDropDownList1.SelectedValue = item.nombre;
                            posicion++;

                            TextBox miTextBox1 = (TextBox)pTrabajador.FindControl("txtCargo" + contador);
                            miTextBox1.Text = item.cargo;

                            TextBox miTextBox2 = (TextBox)pTrabajador.FindControl("txtTelefono" + contador);
                            miTextBox2.Text = item.num_telefono;

                            DropDownList miDropDownList2 = (DropDownList)pTrabajador.FindControl("ddlTrabjador" + posicion);
                            miDropDownList2.SelectedValue = item.nombre;
                            posicion++;
                        }
                        contador++;
                    }

                    #region grafica
                    List <NodosArbol> nodos = new List <NodosArbol>();
                    contador = 0;
                    string valorNodo = string.Empty;
                    NodoPrincipal = ddlTrabjador1.SelectedItem.ToString().Replace(" ", "_");

                    foreach (Control micontrol in pTrabajador.Controls)
                    {
                        if (micontrol is DropDownList)
                        {
                            DropDownList miDDL = (DropDownList)micontrol;
                            contador++;

                            if (contador % 2 == 1)
                            {
                                valorNodo = miDDL.SelectedItem.ToString().Replace(" ", "_");
                            }
                            else
                            {
                                nodos.Add(new NodosArbol()
                                {
                                    Nodo1 = valorNodo,
                                    Nodo2 = miDDL.SelectedItem.ToString().Replace(" ", "_"),
                                    valor = valorNodo + " " + miDDL.SelectedItem.ToString().Replace(" ", "_")
                                });
                            }
                        }
                    }

                    var groupedList = nodos.GroupBy(x => new { x.Nodo1, x.Nodo2 }).Select(grp => grp.ToList()).ToList();

                    string[] valores = CrearLista(groupedList, NodoPrincipal);


                    StringBuilder str = new StringBuilder();
                    str.Append(@"<script type=*text/javascript*>
                    google.charts.load('current', { packages:['wordtree']});
                    google.charts.setOnLoadCallback(drawSimpleNodeChart);
                    
                    function drawSimpleNodeChart()
                    {
                    var nodeListData = new google.visualization.arrayToDataTable([
                    ['id', 'childLabel', 'parent', 'size', { role: 'style' }],");

                    for (int i = 0; i < valores.Length; i++)
                    {
                        if (i == (valores.Length - 1))
                        {
                            str.Append(@"[" + valores[i] + "]]); ");
                        }
                        else
                        {
                            str.Append(@"[" + valores[i] + "],");
                        }
                    }


                    str.Append(@"var options = {
                      colors: ['black', 'black', 'black'],
                      wordtree: {
                        format: 'explicit',
                        type: 'suffix'
                      }
                    };
        
        var wordtree = new google.visualization.WordTree(document.getElementById('TreeChart'));
        wordtree.draw(nodeListData, options);
        }
        </script>");

                    string Myscript = str.ToString().Replace('*', '"');
                    ltReporte.Text = Myscript;
                    btnCalculate.Focus();
                    #endregion
                }

                if (ListaProcedimientoComunicacion.Count > 1)
                {
                    ViewState["contador"] = string.Empty + ListaProcedimientoComunicacion.Count;
                }
                else
                {
                    ViewState["contador"] = "2";
                }
            }
        }