private List <z_carros>[] OrdenarCarros()
        {
            int largo = new z_tipo_carro().getCantidad();
            var lista = new List <z_carros> [largo];
            var carro = new z_carros();

            // clasificar por tipo
            foreach (int i in IdCarros)
            {
                carro = carro.getObjectz_carros(i);
                int resto = carro.id_tipo_carro - 1;
                if (lista[resto] == null)
                {
                    lista[resto] = new List <z_carros>();
                }
                lista[resto].Add(carro);
            }

            // dejar el primero al frente, ordenar el resto por compañia ( *Deshabilitado )
            foreach (List <z_carros> l in lista)
            {
                if (l != null)
                {
                    //l.Sort(1, l.Count - 1, new z_carroComparer());
                }
            }

            return(lista);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Igual al caso especial Agregar BX, pero para los UT
        /// </summary>
        /// <param name="exp"></param>
        /// <param name="id_carros"></param>
        private static void CBMS_CasoEspecialAgregarUT(e_expedientes exp, ICollection <int> id_carros)
        {
            z_llamados llam = new z_llamados().getObjectz_llamados_id(exp.codigo_principal);

            // verificar 10-0
            if (llam.clave == "10-0")
            {
                // verificar 2 B despachados
                int       cant_b     = 0;
                DataTable tipo_carro = new z_tipo_carro().Getz_tipo_carro().Tables[0];
                DataTable carros     = new z_carros().Getz_carros().Tables[0];
                var       tipo_b     = (int)(tipo_carro.Select("tipo_carro_letra='B'")[0]["id_tipo_carro"]);
                var       columna_b  = (string)(tipo_carro.Select("tipo_carro_letra='B'")[0]["columna_despacho"]);
                var       tipo_ut    = (int)(tipo_carro.Select("tipo_carro_letra='UT'")[0]["id_tipo_carro"]);
                var       carros_b   = new List <int>();

                foreach (int id in id_carros)
                {
                    DataRow dr = carros.Select("id_carro=" + id)[0];
                    if ((int)dr["id_tipo_carro"] == tipo_b)
                    {
                        cant_b++;
                        carros_b.Add(id);
                    }
                }

                if (cant_b >= 2)
                {
                    // obtener primera prioridad B (hecho arriba)
                    DataSet prioridad = new z_prioridad().Getz_prioridad(exp.id_area);
                    // si primer carro == primera prioridad, verificar bx
                    var prim_prioridad = (int)prioridad.Tables[0].Rows[0][columna_b];
                    if ((int)carros.Select("id_carro=" + carros_b[0])[0]["id_compania"] == prim_prioridad)
                    {
                        DataRow[] dr =
                            carros.Select("id_compania = " + prim_prioridad + " and id_tipo_carro=" + tipo_ut +
                                          " and estado=1");
                        // si dr!= null, liberar último B solicitado y agregar ut al despacho
                        if (dr.Length != 0)
                        {
                            // liberar último carro B
                            //Carro.Liberar(carros_b[carros_b.Count-1]);
                            //id_carros.Remove(carros_b[carros_b.Count - 1]);

                            // despachar BX
                            var ut = (int)dr[0]["id_carro"];
                            id_carros.Add(ut);
                            //Carro.MarcarDespachado(ut);
                            z_carros c = new z_carros().getObjectz_carros(ut);
                            //Conductor.FueraServicio(c.id_conductor, c.id_carro);
                            Carro.Despachar(c);
                        }
                    }
                }
            }
        }
        private void FormPrueba_Load(object sender, EventArgs e)
        {
            Icon = Icon.FromHandle(Resources.prueba_equipos_32.GetHicon());

            // hora y saludo
            labelHora.Text = string.Format(Settings.Default.Titulo, DateTime.Now.ToShortTimeString());

            //carros!
            int     largo  = new z_tipo_carro().getCantidad();
            DataSet carros = new z_carros().Getz_carrosTodosDisponiblesEnLlamado();

            DataTable dt = carros.Tables[0].Clone();

            // filtrar carros
            if (Settings.Default.UsarCarros)
            {
                foreach (DataRow dr in carros.Tables[0].Rows)
                {
                    if (Settings.Default.CarrosSeleccionados.Contains(dr["id_tipo_carro"]))
                    {
                        dt.ImportRow(dr);
                    }
                }
            }
            else
            {
                dt = carros.Tables[0];
            }

            DataSet tipo_carros = new z_tipo_carro().Getz_tipo_carro();
            int     i           = 0;

            tableLayoutPanel1.ColumnCount = largo;

            foreach (DataRow tipo in tipo_carros.Tables[0].Rows)
            {
                DataRow[] c = dt.Select("id_tipo_carro=" + tipo["id_tipo_carro"], "id_compania");
                int       j = 0;
                foreach (DataRow carro in c)
                {
                    var cb = new CheckBox
                    {
                        Text     = ((string)carro["nombre"]),
                        Tag      = ((int)carro["id_carro"]),
                        AutoSize = true
                    };
                    tableLayoutPanel1.Controls.Add(cb, i, j++);
                }
                //tableLayoutPanel1.ColumnStyles[i] = new ColumnStyle(SizeType.AutoSize);
                i++;
            }
        }
Exemplo n.º 4
0
        public void Clave6_0(int idVolCargo, int cantVoluntarios, int cantEspecialistas, string nombreVol)
        {
            Clave6_0(idVolCargo, cantVoluntarios, nombreVol);
            // bitacora cant especialistas
            z_carros carro        = new z_carros().getObjectz_carros(carroUsado.id_carro);
            DataSet  ds           = new z_tipo_carro().Getz_tipo_carro();
            string   especialista =
                System.Convert.ToString(ds.Tables[0].Select("id_tipo_carro=" + carro.id_tipo_carro)[0]["especialista"]);

            if (!string.IsNullOrEmpty(especialista))
            {
                BitacoraLlamado.NuevoEvento(carroUsado.id_expediente, carroUsado.id_carro,
                                            BitacoraLlamado.Carro,
                                            cantEspecialistas + " " + especialista);
            }
        }
        public CantidadCarros()
        {
            var tc    = new z_tipo_carro();
            int largo = tc.getCantidad();

            _id_tipo  = new int[largo];
            _cantidad = new int[largo];
            _orden    = new int[largo];
            DataSet ds = tc.Getz_tipo_carro_despacho();


            for (int i = 0; i < largo; i++)
            {
                _orden[i]   = i + 1;
                _id_tipo[i] = (int)ds.Tables[0].Rows[i]["id_tipo_carro"];
            }
        }
        private void AdminPrioridad_Load(object sender, EventArgs e)
        {
            try
            {
                // controles!
                DataSet tc = new z_tipo_carro().Getz_tipo_carro();
                var     l  = new List <ReorderListBox>();
                for (int i = 0; i < tc.Tables[0].Rows.Count; i++)
                {
                    // poner de a 6 controles por linea

                    var r = new ReorderListBox
                    {
                        Text          = ("Prioridad " + (string)tc.Tables[0].Rows[i]["tipo_nom"].ToString()),
                        Name          = ("ID_PRIORIDAD_" + (string)tc.Tables[0].Rows[i]["alias"].ToString()),
                        DisplayMember = "id_cuartel",
                        ValueMember   = "id_cuartel",
                        Size          = new Size(110, 175)
                    };
                    l.Add(r);
                }
                tableLayoutPanel1.Controls.Clear();
                tableLayoutPanel1.SuspendLayout();

                for (int i = 0; i < l.Count; i++)
                {
                    tableLayoutPanel1.Controls.Add(l[i], i % 6, i / 6);
                }
                tableLayoutPanel1.ResumeLayout();

                // datos!
                listActuales.DisplayMember = "id_area";
                listActuales.ValueMember   = "id_area";
                Source = new k_areas().Getk_areas().Tables[0];
            }
            catch (Exception ex)
            {
                Log.ShowAndLog(ex);
            }
        }
        private void FormPruebaAdmin_Load(object sender, EventArgs e)
        {
            // icono
            Icon = Icon.FromHandle(Resources.prueba_equipos_32.GetHicon());

            // establecer valores por defecto
            checkTipoCarro.Checked = Settings.Default.UsarCarros;

            if (Settings.Default.CarrosSeleccionados == null)
            {
                Settings.Default.CarrosSeleccionados = new ArrayList();
            }

            // cargar tipos de carro
            DataSet ds = new z_tipo_carro().Getz_tipo_carro();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                clTipoCarro.Items.Add(new TipoCarro((string)dr["tipo_carro_letra"], (int)dr["id_tipo_carro"]),
                                      isChecked((int)dr["id_tipo_carro"]));
            }
        }
        protected override void Actualizar()
        {
            try
            {
                DataSet tc = new z_tipo_carro().Getz_tipo_carro("");
                foreach (DataRow row in tc.Tables[0].Rows)
                {
                    DataSet ds = new z_prioridad().Getz_prioridad((int)listActuales.SelectedValue, Convert.ToInt32(row["alias"].ToString()));
                    var     p  = new z_prioridad();
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        var columnas = new List <KeyValuePair <string, int> >();
                        foreach (Control rl in tableLayoutPanel1.Controls)
                        {
                            var l = rl as ReorderListBox;
                            if (l != null && l.Name.Contains("ID_PRIORIDAD_" + row["alias"].ToString()))
                            {
                                // agregar columnas y valores
                                columnas.Add(new KeyValuePair <string, int>(l.DisplayMember, l.Items[i]));
                            }
                        }

                        // actualizar!
                        p.modifyz_prioridad((int)ds.Tables[0].Rows[i]["id_prioridad"], columnas);
                    }
                }

                BitacoraGestion.NuevoEvento(zeusWin.IdOperadora, zeusWin.IdAval,
                                            "Modificación Tabla Prioridad de Despacho");

                MessageBox.Show("Datos ingresados correctamente", "Mensaje de Zeus", MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                Log.ShowAndLog(ex);
            }
        }
Exemplo n.º 9
0
        private void BoletinInformativoConfigForm_Load(object sender, EventArgs e)
        {
            // icono
            Icon = Icon.FromHandle(Resources.boletin_informativo_32.GetHicon());

            // establecer valores por defecto
            checkTiempoFuera.Checked = Settings1.Default.UsarDias;
            checkTipoCarro.Checked   = Settings1.Default.UsarCarros;
            textDias.Text            = Settings1.Default.NumDias.ToString();

            if (Settings1.Default.CarrosSeleccionados == null)
            {
                Settings1.Default.CarrosSeleccionados = new ArrayList();
            }

            // cargar tipos de carro
            DataSet ds = new z_tipo_carro().Getz_tipo_carro();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                clTipoCarro.Items.Add(new TipoCarro((string)dr["tipo_carro_letra"], (int)dr["id_tipo_carro"]),
                                      isChecked((int)dr["id_tipo_carro"]));
            }
        }
Exemplo n.º 10
0
 protected override void Mostrar(int id)
 {
     try
     {
         DataSet tc = new z_tipo_carro().Getz_tipo_carro();
         foreach (DataRow row in tc.Tables[0].Rows)
         {
             DataSet ds = new z_prioridad().Getz_prioridad(id, Convert.ToInt32(row["alias"].ToString()));
             foreach (Control rl in tableLayoutPanel1.Controls)
             {
                 var l = rl as ReorderListBox;
                 if (l != null && l.Name.Contains("ID_PRIORIDAD_" + row["alias"].ToString()))
                 {
                     // agregar columnas y valores
                     l.DataSource = ds.Tables[0];
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Log.ShowAndLog(ex);
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// Si ocurre un llamado 10-2, 10-8 o 10-9 en alguna de las áreas correspondiente a compañías que cuentan con ‘B’ y ‘BX’,
        /// debe ser despachado el ‘BX’ en lugar del ‘B’ que indica la pauta. Si al momento del despacho de alguna de estas claves
        /// (10-2, 10-8 o 10-9), el ‘BX’ se encuentra fuera de servicio, debe ser despachado el ‘B’ de la misma compañía en caso que
        /// se encuentre disponible o el ‘B’ de la compañía que corresponda según la prioridad.
        /// </summary>
        /// <param name="exp"></param>
        /// <param name="id_carros"></param>
        private static void CBMS_CasoEspecialBXporB(e_expedientes exp, ICollection <int> id_carros)
        {
            // verificar llamado 10-2, 10-8 o 10-9
            DataTable llamados = new z_llamados().Getz_llamados().Tables[0];

            DataRow[] res =
                llamados.Select("codigo_llamado=" + exp.codigo_principal +
                                " and (clave='10-2' or clave='10-8' or clave='10-9')");
            if (res.Length != 0)
            {
                // verificar que no haya BX
                //bool salio_bx = false;
                int  compania          = exp.id_area / 100;
                bool compania_tiene_bx = false;
                //bool bx_en_llamado_es_de_compañia = false;
                //int id_bx = 0;
                z_carros  bx         = null;
                DataTable tipo_carro = new z_tipo_carro().Getz_tipo_carro().Tables[0];
                DataTable carros     = new z_carros().Getz_carros().Tables[0];
                int       tipo_b     = (int)(tipo_carro.Select("tipo_carro_letra='B'")[0]["id_tipo_carro"]);
                int       tipo_bx    = (int)(tipo_carro.Select("tipo_carro_letra='BX'")[0]["id_tipo_carro"]);

                // salio un bx?
                foreach (int id in id_carros)
                {
                    DataRow dr = carros.Select("id_carro=" + id)[0];
                    if ((int)dr["id_tipo_carro"] == tipo_bx)
                    {
                        //salio_bx = true;
                        //id_bx = id;
                        bx = new z_carros().getObjectz_carros(id);
                        break;
                    }
                }

                // compañia tiene bx?
                foreach (DataRow dr in carros.Select("id_tipo_carro=" + tipo_bx))
                {
                    if ((int)dr["id_compania"] == compania)
                    {
                        compania_tiene_bx = true;
                        break;
                    }
                }
                // si salio el bx que no era, o no salio bx, (liberar bx y) asignar B segun prioridad
                if ((bx != null && bx.id_compania != compania && compania_tiene_bx) || bx == null && compania_tiene_bx)
                {
                    // liberar BX si habia
                    if (bx != null)
                    {
                        Carro.Liberar(bx.id_carro);
                        id_carros.Remove(bx.id_carro);
                    }
                    // obtener carro B
                    z_carros carro_b = Despacho.ObtenerCarro(tipo_b, exp.id_area);
                    if (carro_b.id_carro != 0)
                    {
                        Carro.Despachar(carro_b);
                        //Conductor.FueraServicio(carro_b.id_conductor, carro_b.id_carro);
                        id_carros.Add(carro_b.id_carro);
                    }
                }
            }
        }
Exemplo n.º 12
0
        public static z_carros ObtenerCarro(int id_tipo_carro, int id_area, bool verificar_cubriendo,
                                            List <int> compañias_usadas)
        {
            DataTable tipo_carros = new z_tipo_carro().Getz_tipo_carro().Tables[0];

            // Obtener compañía que debe despachar el tipo de carro especificado
            // (desde z_prioridad, parámetros: tipo_carro, cantidad)
            var     prioridad = new z_prioridad();
            DataSet ds        = prioridad.Getz_prioridad(id_area);

            // Verificar, desde tabla z_carros, si la compañía seleccionada tiene el tipo de carro requerido,
            // y que su estado sea=1 (en servicio)
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow dr      = ds.Tables[0].Rows[i];
                var     carro   = new z_carros();
                string  columna =
                    (string)(tipo_carros.Select("id_tipo_carro=" + id_tipo_carro)[0]["columna_despacho"]);
                int compañia = (int)dr[columna];

                //// CBQN: sólo un carro por compañía
                if (compañias_usadas != null && compañias_usadas.Contains(compañia))
                {
                    continue;
                }
                DataSet carros = carro.GetCarrosCompania(id_tipo_carro, compañia);
                foreach (DataRow Row in carros.Tables[0].Rows)
                {
                    carro = carro.getObjectz_carros((int)Row["id_carro"]);

                    // verificar cubrir cuarteles
                    if (verificar_cubriendo && carro.id_carro != 0)
                    {
                        // carro cubre área si 1) id_compania!=id_compania_orig y 2) id_compania_cubre==1° prioridad área
                        int primera_prioridad = (int)ds.Tables[0].Rows[0][columna];
                        if (carro.id_compania_orig != carro.id_compania && carro.id_compania == primera_prioridad)
                        {
                            // carro cubre área, ignorar
                            carro.id_carro = 0;
                        }
                    }

                    // seleccionar carro
                    if (carro.id_carro != 0)
                    {
                        if (Carro.EstaDisponible(carro))
                        {
                            Carro.Despachar(carro);
                            //Conductor.FueraServicio(carro.id_conductor, carro.id_carro);
                            return(carro);
                        }
                        // carro alternativo???
                        if (carro.id_tipo_alternativo != 0)
                        {
                            carro = carro.getObjectz_carros(carro.id_tipo_alternativo);
                            if (carro.id_carro != 0 && Carro.EstaDisponible(carro))
                            {
                                Carro.Despachar(carro);
                                //Conductor.FueraServicio(carro.id_conductor, carro.id_carro);
                                return(carro);
                            }
                        }
                    }
                }
            }
            return(new z_carros());
        }
Exemplo n.º 13
0
        private static CantidadCarros ObtenerCantidadCarros(int id_area, int codigo_llamado, out List <int> dos_6)
        {
            var dos6 = new List <int>();
            // 4
            var cantidad = new CantidadCarros();
            // obtener cantidad de carros necesaria
            DataTable di         = null;
            DataTable dh         = new z_despacho_habil().Getz_despacho_habil(id_area, codigo_llamado).Tables[0];
            DataTable tipo_carro = new z_tipo_carro().Getz_tipo_carro_despacho().Tables[0];

            // 4.a
            if ((bool)dh.Rows[0]["inhabil"])
            {
                if (EnBloqueHorario((string)dh.Rows[0]["bloques"]))
                {
                    di = new z_despacho_inhabil().Getz_despacho_inhabil(id_area, codigo_llamado).Tables[0];
                }
            }

            if (di == null)
            {
                for (int i = 0; i < tipo_carro.Rows.Count; i++)
                {
                    var columna = (string)tipo_carro.Rows[i]["columna_despacho"];
                    cantidad.Cantidad[i] = (int)dh.Rows[0][columna];
                }

                //dos6?
                if ((bool)dh.Rows[0]["dos_6"])
                {
                    var     dos = new z_dos_6();
                    DataSet ds  = dos.GetDos6Despacho((int)dh.Rows[0]["id_despacho"]);
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        var carro = new z_carros();
                        carro = carro.getObjectz_carros((int)dr["id_carro"]);
                        if (Carro.EstaDisponible(carro))
                        {
                            Carro.Despachar(carro);
                            //Conductor.FueraServicio(carro.id_conductor, carro.id_carro);
                            dos6.Add(carro.id_carro);
                        }
                    }
                }
            }
            else
            {
                // despacho inhábil
                for (int i = 0; i < tipo_carro.Rows.Count; i++)
                {
                    string columna = (string)tipo_carro.Rows[i]["columna_despacho"];
                    cantidad.Cantidad[i] = (int)di.Rows[0][columna];
                }

                //dos6?
                if ((bool)di.Rows[0]["dos_6"])
                {
                    var     dos = new z_dos_6();
                    DataSet ds  = dos.GetDos6Despacho((int)di.Rows[0]["id_despacho"]);
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        var carro = new z_carros();
                        carro = carro.getObjectz_carros((int)dr["id_carro"]);
                        if (Carro.EstaDisponible(carro))
                        {
                            Carro.Despachar(carro);
                            //Conductor.FueraServicio(carro.id_conductor, carro.id_carro);
                            dos6.Add(carro.id_carro);
                        }
                    }
                }
            }
            dos_6 = dos6;
            return(cantidad);
        }
        private void CargaInicial()
        {
            try
            {
                int valor1 = 0;
                int valor2 = 0;
                int resto  = 0;
                SuspendLayout();
                tableLayoutPanel1.SuspendLayout();
                tableLayoutPanel1.Controls.Clear();
                var carro = new z_carros();

                var tipo = new z_tipo_carro();

                tableLayoutPanel1.ColumnCount = carro.GetMaxCarros() + 1;

                tableLayoutPanel1.RowCount = tipo.getCantidad();

                // cargar tipos de carro y ponerlos

                DataSet   ds = tipo.Getz_tipo_carro();
                DataRow[] dr = ds.Tables[0].Select("", "orden");
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataSet dc = carro.GetCarrosTipo((int)dr[i]["id_tipo_carro"]);

                    if (dc.Tables[0].Rows.Count > 0)
                    {
                        var lbl = new Label
                        {
                            Text      = ((string)dr[i]["tipo_carro_letra"]),
                            Font      = new Font(new FontFamily("Arial"), 12),
                            Size      = new Size(45, 40),
                            TextAlign = ContentAlignment.MiddleCenter
                        };
                        tableLayoutPanel1.Controls.Add(lbl, i, 0);

                        // carros

                        for (int j = 0; j < dc.Tables[0].Rows.Count; j++)
                        {
                            /*var est = new BtnEstadoCarro
                             * {
                             *  Id_carro = ((int)dc.Tables[0].Rows[j]["id_carro"]),
                             *  Estado = ((int)dc.Tables[0].Rows[j]["estado"]),
                             *  Text = ((string)dc.Tables[0].Rows[j]["nombre"]),
                             *  ZeusWin = ZeusWin
                             * };*/

                            Button boton = new Button();
                            boton.Name = Guid.NewGuid().ToString();
                            Size size = new Size(61, 25);
                            boton.Size   = size;
                            boton.Text   = ((string)dc.Tables[0].Rows[j]["nombre"]);
                            boton.Click += new EventHandler(btn_evento_Click);

                            switch (((int)dc.Tables[0].Rows[j]["estado"]))
                            {
                            case 1:
                                boton.BackColor = Color.PaleGreen;
                                break;

                            case 2:
                                boton.BackColor = Color.Tomato;
                                break;

                            case 3:
                                boton.BackColor = Color.Yellow;
                                break;

                            case 4:
                            case 5:
                                boton.BackColor = Color.LightBlue;
                                break;

                            default:
                                break;
                            }

                            /*Control[] ctrl;
                             * Random r = new Random();
                             * ctrl = est.Controls.Find("c_" + ((string)dc.Tables[0].Rows[j]["nombre"]), true);
                             * Button btn_evento = ctrl[0] as Button;
                             * btn_evento.Name = "btn_" + System.DateTime.Now.ToString("yyyyMMddHHmmssFFF");
                             * btn_evento.Click += new EventHandler(btn_evento_Click);*/
                            tableLayoutPanel1.Controls.Add(boton, i, j + 1);
                        }
                    }
                }
                tableLayoutPanel1.ResumeLayout();
                ResumeLayout();
            }
            catch (Exception exe)
            {
                MessageBox.Show("Exception: " + exe.Message);
            }
        }
        private void CargarCarros()
        {
            //MessageBox.Show("1");
            try
            {
                //SuspendLayout();
                //tableLayoutPanel1.SuspendLayout();
                //tableLayoutPanel1.Controls.Clear();
                var carro = new z_carros();

                var tipo   = new z_tipo_carro();
                int valor1 = 0;
                int valor2 = 0;
                //tableLayoutPanel1.ColumnCount = carro.GetMaxCarros() + 1;

                //tableLayoutPanel1.RowCount = tipo.getCantidad();

                // cargar tipos de carro y ponerlos

                DataSet   ds = tipo.Getz_tipo_carro();
                DataRow[] dr = ds.Tables[0].Select("", "orden");
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataSet dc = carro.GetCarrosTipo((int)dr[i]["id_tipo_carro"]);

                    if (dc.Tables[0].Rows.Count > 0)
                    {
                        if (RecursosEstaticos.PrimeraCarga == 1)
                        {
                            var lbl = new Label
                            {
                                Text      = ((string)dr[i]["tipo_carro_letra"]),
                                Font      = new Font(new FontFamily("Arial"), 12),
                                Size      = new Size(45, 40),
                                TextAlign = ContentAlignment.MiddleCenter
                            };
                            tableLayoutPanel1.Controls.Add(lbl, i, 0);
                        }

                        // carros

                        for (int j = 0; j < dc.Tables[0].Rows.Count; j++)
                        {
                            //if (((int)dc.Tables[0].Rows[j]["estado"]) == carro.GetEstadoCarros(((int)dc.Tables[0].Rows[j]["id_carro"])))
                            if (1 == 2)
                            {
                                // No hay operación porque el carro esta identico
                                string mensaje = "IDENTICO!!";
                            }
                            else
                            {
                                //Control[] control_table;
                                string nombre = ((string)dc.Tables[0].Rows[j]["nombre"]);
                                //control_table = tableLayoutPanel1.Controls.Find("c_" + ((string)dc.Tables[0].Rows[j]["nombre"]), true);
                                //Button btn_table = control_table[0] as Button;

                                foreach (Control c in tableLayoutPanel1.Controls)
                                {
                                    if (c is Button)
                                    {
                                        var est2 = c;
                                        //est2.Text = ((string)dc.Tables[0].Rows[j]["nombre"]);
                                        //Control[] ctrl2;
                                        //ctrl2 = est2.Controls.Find("c_" + ((string)dc.Tables[0].Rows[j]["nombre"]), true);

                                        if (est2.Text.Equals(nombre))
                                        {
                                            //MessageBox.Show(((int)dc.Tables[0].Rows[j]["estado"]).ToString() + "-" + ((int)dc.Tables[0].Rows[j]["id_carro"]).ToString() + "-" + est2.Text);
                                            switch ((int)dc.Tables[0].Rows[j]["estado"])
                                            {
                                            case 1:
                                                est2.BackColor = Color.PaleGreen;
                                                break;

                                            case 2:
                                                est2.BackColor = Color.Tomato;
                                                break;

                                            case 3:
                                                est2.BackColor = Color.Yellow;
                                                break;

                                            case 4:
                                            case 5:
                                                est2.BackColor = Color.LightBlue;
                                                break;

                                            default:
                                                break;
                                            }

                                            // MessageBox.Show(((int)dc.Tables[0].Rows[j]["estado"]).ToString() + "-" + ((int)dc.Tables[0].Rows[j]["id_carro"]).ToString());

                                            carro.ActualizarEstadosCarros(((int)dc.Tables[0].Rows[j]["estado"]), ((int)dc.Tables[0].Rows[j]["id_carro"]));

                                            /*valor1 = tableLayoutPanel1.GetCellPosition(est2).Column;
                                             * valor2 = tableLayoutPanel1.GetCellPosition(est2).Row;
                                             * tableLayoutPanel1.Controls.Remove(est2);*/
                                        }
                                    }
                                }

                                /*var est = new BtnEstadoCarro
                                 * {
                                 *  Id_carro = ((int)dc.Tables[0].Rows[j]["id_carro"]),
                                 *  Estado = ((int)dc.Tables[0].Rows[j]["estado"]),
                                 *  Text = ((string)dc.Tables[0].Rows[j]["nombre"]),
                                 *  ZeusWin = ZeusWin
                                 * };
                                 *
                                 * Control[] ctrl;
                                 * Random r = new Random();
                                 * ctrl = est.Controls.Find("c_" + ((string)dc.Tables[0].Rows[j]["nombre"]), true);
                                 *
                                 * Button btn_evento = ctrl[0] as Button;
                                 * btn_evento.Name = "btn_" + System.DateTime.Now.ToString("yyyyMMddHHmmssFFF");
                                 * btn_evento.Click += new EventHandler(btn_evento_Click);
                                 *
                                 * tableLayoutPanel1.Controls.Add(est, valor1, valor2);*/
                                //carro.ActualizarEstadosCarros(((int)dc.Tables[0].Rows[j]["estado"]), ((int)dc.Tables[0].Rows[j]["id_carro"]));
                            }
                        }
                    }
                }
                tableLayoutPanel1.ResumeLayout();
                ResumeLayout();
            }
            catch (Exception exe)
            {
                MessageBox.Show("Exception: " + exe.Message);
            }
        }
Exemplo n.º 16
0
        private void CargarCarros()
        {
            try
            {
                log.Debug("");
                log.Debug("");
                log.Debug("");
                log.Debug("***************** INICIO DEL LOG ****************");
                log.Debug("Entro al metodo de carga de carros");
                SuspendLayout();
                log.Debug("Se limpia el panel");
                tableLayoutPanel1.SuspendLayout();
                log.Debug("Se genera la suspensión del layoutpanel");
                tableLayoutPanel1.Controls.Clear();
                log.Debug("Se limpia el layout");
                var carro = new z_carros();
                log.Debug("Se instancia la clase Z_CARROS");
                var tipo = new z_tipo_carro();
                log.Debug("Se instancia la clase Z_TIPOCARRO");
                tableLayoutPanel1.ColumnCount = carro.GetMaxCarros() + 1;
                log.Debug("Se instancia la lista de columnas de carros el cual es " + tableLayoutPanel1.ColumnCount.ToString());
                tableLayoutPanel1.RowCount = tipo.getCantidad();

                // cargar tipos de carro y ponerlos

                DataSet   ds = tipo.Getz_tipo_carro();
                DataRow[] dr = ds.Tables[0].Select("", "orden");
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    log.Debug("ENTRO A LA INTERACION " + i + " DEL FOR");
                    DataSet dc = carro.GetCarrosTipo((int)dr[i]["id_tipo_carro"]);
                    log.Debug("Se recupera el tipo de carros en base al dato " + dr[i]["id_tipo_carro"].ToString() + "");
                    if (dc.Tables[0].Rows.Count > 0)
                    {
                        log.Debug("Se genera el label en base al dato " + (string)dr[i]["tipo_carro_letra"] + "");
                        var lbl = new Label
                        {
                            Text      = ((string)dr[i]["tipo_carro_letra"]),
                            Font      = new Font(new FontFamily("Arial"), 12),
                            Size      = new Size(45, 40),
                            TextAlign = ContentAlignment.MiddleCenter
                        };
                        tableLayoutPanel1.Controls.Add(lbl, i, 0);
                        log.Debug("Se agrega el control al tablelayoutpanel");
                        // carros

                        for (int j = 0; j < dc.Tables[0].Rows.Count; j++)
                        {
                            log.Debug("Se genera el for en la posición " + j + " con los botones de carros");

                            /*var est = new BtnEstadoCarro
                             * {
                             *  Id_carro = ((int)dc.Tables[0].Rows[j]["id_carro"]),
                             *  Estado = ((int)dc.Tables[0].Rows[j]["estado"]),
                             *  Text = ((string)dc.Tables[0].Rows[j]["nombre"])
                             * };*/
                            CheckBox chk = new CheckBox();
                            chk.Text = ((string)dc.Tables[0].Rows[j]["nombre"]);
                            log.Debug("Se busca el control");
                            log.Debug("Se asigna al control button el boton recuperado del panel");
                            //btn_evento.Click += new EventHandler(btn_evento_Click);
                            log.Debug("Se asigna el evento OnClick al boton");
                            tableLayoutPanel1.Controls.Add(chk, i, j + 1);
                            log.Debug("Se agrega el boton en el tablelayoutpanel");
                        }
                    }
                    log.Debug("Se finaliza el FOR");
                }
                tableLayoutPanel1.ResumeLayout();
                ResumeLayout();
                log.Debug("************ FIN DEL PROCESO DE CREACIÓN DE CARROS PARA MATERIAL MAYOR *******************");
                log.Debug("");
                log.Debug("");
                log.Debug("");
            }
            catch (Exception exe)
            {
                log.Error("Se ha generado el siguiente error: " + exe.Message);
                log.Error("Se genera la traza del error" + exe.StackTrace);
            }
        }
Exemplo n.º 17
0
        public static List <int> DespacharBatallon(int id_expediente, int id_area, int batallon, out string sindesp)
        {
            // 6
            var sinDespacho = new List <int>();
            var idDespacho  = new List <int>();
            var companias   = new List <int>();
            var R           = new List <int>();
            var cu          = new e_carros_usados();

            sindesp = "";

            // tipos de carro
            try
            {
                // obtener codigo llamado batallon
                var     llam           = new z_llamados();
                DataSet db             = llam.Getz_llamados_incendio();
                int     codigo_llamado = (int)db.Tables[0].Rows[batallon - 1]["codigo_llamado"];

                CantidadCarros cantidad = ObtenerCantidadCarros(id_area, codigo_llamado, out idDespacho);
                // cantidad de carros
                var actual = new CantidadCarros();
                // sumar
                DataSet de = cu.Gete_carros_exp(id_expediente);
                foreach (DataRow dw in de.Tables[0].Rows)
                {
                    var carro = new z_carros();
                    carro = carro.getObjectz_carros((int)dw["id_carro"]);
                    actual.Cantidad[carro.id_tipo_carro - 1]++;
                }
                // restar carros actuales
                cantidad = cantidad - actual;

                OrdenarCarros(cantidad, codigo_llamado);
                for (int i = 0; i < cantidad.Cantidad.GetLength(0); i++)
                {
                    while (cantidad.Cantidad[i] > 0)
                    {
                        // obtener carro verificando 0-11
                        z_carros carro = batallon > 2 ? ObtenerCarro(cantidad.Id_tipo[i], id_area, true) : ObtenerCarro(cantidad.Id_tipo[i], id_area);

                        if (carro.id_carro != 0)
                        {
                            // es r?
                            if (carro.id_tipo_carro == 7)
                            {
                                R.Add(carro.id_carro);
                            }
                            else
                            {
                                if (!companias.Contains(carro.id_compania))
                                {
                                    companias.Add(carro.id_compania);
                                }
                            }
                            idDespacho.Add(carro.id_carro);
                            // disminuir
                            cantidad.Cantidad[i]--;
                        }
                        else
                        {
                            sinDespacho.Add(cantidad.Id_tipo[i]);
                            break;
                        }
                    }
                }

                for (int i = 0; i < cantidad.Id_tipo.Length; i++)
                {
                    if (cantidad.Cantidad[i] != 0)
                    {
                        z_tipo_carro tipo = new z_tipo_carro().getObjectz_tipo_carro(cantidad.Id_tipo[i]);

                        //sindesp += tipo.tipo_carro_letra + ": " + cantidad.Cantidad[i] + "; ";
                        sindesp += cantidad.Cantidad[i] + " " + tipo.tipo_carro_letra + "; ";
                    }
                }
            }
            catch (Exception e)
            {
                Log.Write(e);
                MessageBox.Show("No se pudo completar la operación debido a un error de Base de Datos.",
                                "Mensaje de ZEUS", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            // verificar r en compañia
            var c    = new z_carros();
            int sinR = 0;

            foreach (int id in R)
            {
                bool encompania = false;
                c = c.getObjectz_carros(id);
                foreach (int comp in companias)
                {
                    if (comp == c.id_compania)
                    {
                        encompania = true;
                    }
                }
                if (!encompania)
                {
                    // liberar carro
                    var l = new List <int> {
                        id
                    };
                    CancelarDespacho(l);
                    idDespacho.Remove(id);
                    sinR++;
                }
            }
            if (sinR != 0)
            {
                sindesp += sinR + " R";
            }
            return(idDespacho);
        }