Beispiel #1
0
        public static int CrearConductorTemporal(int id_cuart_vol, List <int> carros)
        {
            // generar temporal
            var nuevo = new z_conductores
            {
                id_tipo_conductor = 2,
                id_cuart_vol      = id_cuart_vol,
                licencia_vence    = DateTime.Now.AddYears(10),
                tipo_licencia     = "F",
                codigo_conductor  = "TEMP",
                temporal          = true,
                disponible        = true
            };

            foreach (int i in carros)
            {
                nuevo.id_carros += "," + i;
            }
            nuevo.id_carros = nuevo.id_carros.Trim(',');

            nuevo.addz_conductores(nuevo);
            int id_conductor = nuevo.id_conductor;

            return(id_conductor);
        }
Beispiel #2
0
        private void listConductores_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listConductores.SelectedIndex != -1)
            {
                // cargar informacion
                conductor = conductor.getObjectz_conductores((int)listConductores.SelectedValue);
                if (conductor.id_tipo_conductor == 1)
                {
                    radioCuartelero.Checked = true;
                }
                else
                {
                    radioVoluntario.Checked = true;
                }
                // nombre
                if (nombres != null)
                {
                    listNombres.SelectedItem =
                        nombres.Find(
                            o => (((KeyValuePair <string, int>)o).Value == conductor.id_cuart_vol));
                }

                // resto de datos
                textTipo.Text      = conductor.tipo_licencia;
                dateLicencia.Value = conductor.licencia_vence;
                textCodigo.Text    = conductor.codigo_conductor;

                FillCarros(conductor.id_carros);
            }
        }
Beispiel #3
0
 public AdminConductor()
 {
     InitializeComponent();
     carros      = new List <int>();
     carrosCheck = new List <int>();
     conductor   = new z_conductores();
 }
        public static void LiberarConductor(int id_cond)
        {
            var cond  = new z_conductores();
            var carro = new z_carros();

            cond = cond.getObjectz_conductores(id_cond);
            if (cond.id_conductor == 0)
            {
                return;
            }
            // poner en servicio los carros de este conductor

            DataSet ds = carro.Getz_carros();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if ((int)dr["id_conductor"] == cond.id_conductor && (int)dr["estado"] == 3)
                {
                    Carro.PonerEnServicio((int)dr["id_carro"]);
                }
            }

            cond.disponible = true;
            cond.modifyz_conductores(cond);
        }
        //### Libera Conductor Bloqueado
        public static void LiberaConductorBloqueado(int id_conductor)
        {
            z_conductores cond = new z_conductores().getObjectz_conductores(id_conductor);

            cond.disponible = true;
            cond.modifyz_conductores(cond);
        }
Beispiel #6
0
        public static void PuestaEnServicio(int id_conductor, List <int> carrosCheck, string autoriza)
        {
            z_conductores cond   = new z_conductores().getObjectz_conductores(id_conductor);
            string        enserv = "";

            foreach (int i in carrosCheck)
            {
                z_carros carro            = new z_carros().getObjectz_carros(i);
                int      id_cond_anterior = carro.id_conductor;
                // modificar conductor
                Carro.EnServicioConductor(carro, id_conductor);
                enserv += "," + carro.nombre;
                // verificar temporal
                z_conductores anterior = new z_conductores().getObjectz_conductores(id_cond_anterior);
                if (anterior.temporal)
                {
                    VerificarTemporal(anterior);
                }
            }
            // temporal??
            string auth = "";

            if (cond.temporal)
            {
                auth = ", Autorizado por: " + autoriza;
            }
            if (enserv != "")
            {
                BitacoraGestion.NuevoEvento(BitacoraLlamado.IdOperadora, 0,
                                            string.Format(
                                                "Puesta en servicio de carros. Fecha: {0}, Conductor: {1}, Carros: {2}" +
                                                auth, DateTime.Now, cond.codigo_conductor, enserv.Trim(',')));
            }
        }
Beispiel #7
0
        private void textNombres_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                var cond = new z_conductores();
                cond = cond.getObjectz_conductores(textNombres.Text);
                switch (cond.id_tipo_conductor)
                {
                case 1:
                    z_cuarteleros cuart = new z_cuarteleros().getObjectz_cuarteleros(cond.id_cuart_vol);
                    textNombres.Text         = cuart.apellidos + " " + cuart.nombres;
                    listNombres.SelectedItem = cuart.apellidos + " " + cuart.nombres;
                    break;

                case 2:
                    z_voluntarios vol = new z_voluntarios().getObjectz_voluntarios(cond.id_cuart_vol);
                    textNombres.Text         = vol.apellidos + " " + vol.nombres;
                    listNombres.SelectedItem = vol.apellidos + " " + vol.nombres;
                    break;

                default:
                    break;
                }
            }
        }
Beispiel #8
0
        private void btnNuevo_Click(object sender, EventArgs e)
        {
            if (!enNuevo)
            {
                // preparar nuevo
                listConductores.Enabled  = false;
                btnActualizar.Enabled    = false;
                btnEliminar.Enabled      = false;
                radioCuartelero.Checked  = true;
                listNombres.SelectedItem = null;
                textVoluntarios.Text     = "";

                textCodigo.Text    = "";
                textTipo.Text      = "";
                dateLicencia.Value = DateTime.Now;

                FillCarros();
                btnNuevo.Text = "Insertar";

                carrosCheck = new List <int>();
                conductor   = new z_conductores();

                enNuevo = true;
            }
            else
            {
                if (Validar(false))
                {
                    try
                    {
                        conductor.codigo_conductor  = textCodigo.Text;
                        conductor.disponible        = true;
                        conductor.id_cuart_vol      = ((KeyValuePair <string, int>)listNombres.SelectedItem).Value;
                        conductor.id_tipo_conductor = radioCuartelero.Checked ? 1 : 2;
                        conductor.licencia_vence    = dateLicencia.Value;
                        conductor.tipo_licencia     = textTipo.Text;
                        // carros
                        foreach (int i in carrosCheck)
                        {
                            conductor.id_carros += "," + i;
                        }
                        conductor.id_carros = conductor.id_carros.Trim(',');
                        conductor.addz_conductores(conductor);

                        listConductores.Enabled = true;
                        btnActualizar.Enabled   = true;
                        btnEliminar.Enabled     = true;

                        btnNuevo.Text = "Nuevo";
                        FillConductores();
                        enNuevo = false;
                    }
                    catch (Exception ex)
                    {
                        Log.ShowAndLog(ex);
                    }
                }
            }
        }
Beispiel #9
0
        public static void VerificarServicio()
        {
            //todo: try-catch!
            DataSet ds = new z_puesta_servicio().Getz_puesta_servicio();
            string  es = "", fs = "";

            //Console.WriteLine(DateTime.Now.ToString() + " regs:" + ds.Tables[0].Rows.Count);
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                z_conductores cond = new z_conductores().getObjectz_conductores((int)dr["id_conductor"]);
                if ((DateTime)dr["fecha_hora"] <= DateTime.Now)
                {
                    if ((string)dr["id_carros_ps"] != "")
                    {
                        // poner en servicio
                        foreach (string s in ((string)dr["id_carros_ps"]).Split(','))
                        {
                            z_carros carro = Carro.EnServicioConductor(int.Parse(s), cond.id_conductor);
                            //    new z_carros().getObjectz_carros(int.Parse(s));
                            //carro.id_conductor = cond.id_conductor;
                            //carro.estado = 1;
                            //carro.modifyz_carros(carro);
                            Conductor.FueraServicio(carro.id_conductor, carro.id_carro);
                            es += "," + carro.nombre;
                        }

                        BitacoraGestion.NuevoEvento((int)dr["id_operadora"], dr.IsNull("id_aval") ? 0 : (int)dr["id_aval"], string.Format("Puesta en servicio de carros. Fecha: {0}, Conductor: {1}, Carros: {2}", ((DateTime)dr["fecha_hora"]).ToString(), cond.codigo_conductor, es.Trim(',')));
                    }


                    if ((string)dr["id_carros_fs"] != "")
                    {
                        // fuera servicio

                        foreach (string s in ((string)dr["id_carros_fs"]).Split(','))
                        {
                            z_carros carro = Carro.SinConductor(int.Parse(s));
                            //    new z_carros().getObjectz_carros(int.Parse(s));
                            //carro.estado = 3;
                            //carro.id_conductor = 0;
                            ////LiberarConductor((int)dr["id_conductor"]);
                            //carro.modifyz_carros(carro);
                            fs += "," + carro.nombre;
                        }
                        BitacoraGestion.NuevoEvento((int)dr["id_operadora"], dr.IsNull("id_aval") ? 0 : (int)dr["id_aval"], string.Format("Fuera de servicio de carros. Fecha: {0}, Conductor: {1}, Carros: {2}", ((DateTime)dr["fecha_hora"]).ToString(), cond.codigo_conductor, fs.Trim(',')));
                    }

                    // mensaje
                    //MessageBox.Show(string.Format("Fecha: {0}, Conductor: {1}\nEn servicio: {2}\nFuera de servicio: {3}", ((DateTime)dr["fecha_hora"]).ToString(), cond.codigo_conductor, es.Trim(','), fs.Trim(',')));
                    new z_puesta_servicio().deletez_puesta_servicio((int)dr["id_puesta_servicio"]);
                    // verificar temporal
                    if (cond.temporal)
                    {
                        Conductor.VerificarTemporal(cond);
                    }
                }
            }
        }
        //########################################
        //###   JSON Servicio Clave MULTIPLE   ###
        //########################################
        public void JsonServicioHoraMultipleJSON(string strIdCarros, int IdEstado, string strIdConductores, string strMotivo, string strColor, Boolean booManual)
        {
            string[] ArIdCarro     = strIdCarros.ToString().Split(',');
            string[] ArIdConductor = strIdConductores.ToString().Split(',');
            //string[] ArNomCarro = strCarros.ToString().Split(',');
            string[] MultiInsert   = new string[ArIdCarro.Length];
            string[] GetHoraActual = System.DateTime.Now.ToString().Split(' ');

            //# Crear CadaObjeto JSON
            JsonServicio servicios     = new JsonServicio();
            string       strVector     = "";
            string       strVectorJSON = "";

            for (int x = 0; x < ArIdCarro.Length; x++)
            {
                servicios.fecha  = GetHoraActual[0].ToString();
                servicios.hora   = GetHoraActual[1].ToString();
                servicios.carro  = Convert.ToInt32(ArIdCarro[x].ToString());
                servicios.estado = IdEstado;
                //### Nombre de Conductor
                string strNomConductor = new z_conductores().Getz_NombreConductor(Convert.ToInt32(ArIdConductor[x].ToString()));
                servicios.conductor = strNomConductor.Replace("Ñ", "N");
                servicios.motivo    = strMotivo.Replace("Ñ", "N");
                servicios.color     = strColor;
                servicios.manual    = booManual;

                string jsonBit = JsonConvert.SerializeObject(servicios);
                strVector += jsonBit + ",";

                //# Agregar en Bitacora de Gestión
                BitacoraGestion.NuevoEvento(BitacoraLlamado.IdOperadora, 0, "Carro: " + servicios.carro.ToString() + "   Estado: " + servicios.estado.ToString() + "   Conductor: " + servicios.conductor.ToString());
            }
            strVector    += "#";
            strVectorJSON = strVector.Replace(",#", "");
            string strVectorJSON_2 = strVectorJSON.Replace("\"", "%");
            string strVectorJSON_3 = strVectorJSON_2.Replace(" ", "?");

            z_carros ccarros = new z_carros();

            if (ccarros.GetParametroPrioridad(6).Equals("TRUE"))
            {
                System.Diagnostics.Process proceso2 = new System.Diagnostics.Process();
                proceso2.StartInfo.FileName       = @"C:\ZEUS_CBMS\Apolo\servicios.py";
                proceso2.StartInfo.Arguments      = strVectorJSON_3;
                proceso2.StartInfo.CreateNoWindow = true;
                proceso2.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                proceso2.Start();
            }

            //### Escribir JSON MultiPuestaServicio
            string       fic = @"C:\ZEUS_CBMS\ZTablasApolo\JsonMultiPuestaServicio.txt";
            StreamWriter sw  = new StreamWriter(fic);

            sw.WriteLine("JSON Bitacora ZEUS");
            sw.WriteLine("");
            sw.WriteLine(strVectorJSON_3);
            sw.Close();
        }
Beispiel #11
0
 private void cmb_Material_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cmb_Material.SelectedIndex != -1)
     {
         DataSet ds = new z_conductores().Getz_conductoresCarro((int)cmb_Material.SelectedValue);
         cmb_Conductores.DisplayMember = "nombre_completo";
         cmb_Conductores.ValueMember   = "id_conductor";
         cmb_Conductores.DataSource    = ds.Tables[0];
     }
 }
Beispiel #12
0
        private void FillConductores(int compania)
        {
            var cond = new z_conductores();

            ds      = cond.GetListz_conductores(compania);
            nombres = new List <object>();
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                var p = new KeyValuePair <string, int>((string)dr["nombre_completo"],
                                                       (int)dr["id_conductor"]);
                nombres.Add(p);
            }
            listNombres.Items.Clear();
            listNombres.Items.AddRange(nombres.ToArray());
        }
Beispiel #13
0
        //### Crea Lista de Conductores Autorizados
        private void LlenarEnServicio()
        {
            z_carros carro = new z_carros();

            carro = carro.getObjectz_carros(NombreCarro);
            DataSet ds = new z_conductores().Getz_conductoresCarro(carro.id_carro);

            gvDisponible.Rows.Clear();

            int i = 0;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                DataGridViewCellStyle style = new DataGridViewCellStyle();
                if ((bool)dr["disponible"] == false)
                {
                    gvDisponible.Rows.Add(dr["nombre_completo"].ToString(), "0");
                }
                else
                {
                    gvDisponible.Rows.Add(dr["nombre_completo"].ToString(), dr["id_conductor"].ToString());
                }


                if ((int)dr["id_tipo_conductor"] == 1)
                {
                    style.ForeColor = Color.Green;
                }
                else
                {
                    style.ForeColor = Color.Goldenrod;
                }

                // no disponible
                if ((bool)dr["disponible"] == false)
                {
                    gvDisponible.Rows[i].ReadOnly = true;
                    style.ForeColor = Color.Gray;
                    gvDisponible.Rows[i].DefaultCellStyle = style;
                    i++;
                }
                else
                {
                    gvDisponible.Rows[i].DefaultCellStyle = style;
                    i++;
                }
            }
        }
Beispiel #14
0
        public static void LiberarConductor(int id_cond)
        {
            var cond  = new z_conductores();
            var carro = new z_carros();

            cond = cond.getObjectz_conductores(id_cond);
            if (cond.id_conductor == 0)
            {
                return;
            }

            //### poner en servicio los carros de este conductor
            string strIdCarros      = "";
            string strIdConductores = "";

            DataSet ds = carro.Getz_carros();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if ((int)dr["id_conductor"] == cond.id_conductor && (int)dr["estado"] == 3)
                {
                    Carro.PonerEnServicio((int)dr["id_carro"]);

                    strIdCarros      += dr["id_carro"].ToString() + ",";
                    strIdConductores += dr["id_conductor"].ToString() + ",";
                }
            }

            cond.disponible = true;
            cond.modifyz_conductores(cond);

            //### JSON Multiple en servicio
            if (carro.GetParametroPrioridad(6) == "TRUE")
            {
                strIdCarros += "#";
                if (strIdCarros != "#")
                {
                    strIdCarros       = strIdCarros.Replace(",#", "");
                    strIdConductores += "#";
                    strIdConductores  = strIdConductores.Replace(",#", "");
                    JsonServicioClaves jsc = new JsonServicioClaves();
                    jsc.JsonServicioHoraMultipleJSON(strIdCarros, 1, strIdConductores, "En servicio por retorno de carro", "Verde", false);
                }
            }
        }
Beispiel #15
0
        /// <summary>
        /// Pone fuera de servicio los carros de un conductor, y pone al conductor no disponible
        /// </summary>
        /// <param name="id_conductor"></param>
        /// <param name="id_carro"></param>
        public static void FueraServicio(int id_conductor, int id_carro)
        {
            z_conductores cond = new z_conductores().getObjectz_conductores(id_conductor);

            cond.disponible = false;
            cond.modifyz_conductores(cond);
            // fuera serv


            string strIdCarros      = "";
            string strIdConductores = "";

            DataSet ds = new z_carros().Getz_carrosDisponibles();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if ((int)dr["id_conductor"] == id_conductor && (int)dr["id_carro"] != id_carro)
                {
                    //# Fuera de Servicio Temporal, elConductor salio en otro carro
                    Carro.ConductorNoDisponible((int)dr["id_carro"]);

                    strIdCarros      += dr["id_carro"].ToString() + ",";
                    strIdConductores += "0,";
                }
            }


            //### JSON Multiple en servicio
            z_carros carro = new z_carros();

            if (carro.GetParametroPrioridad(6) == "TRUE")
            {
                strIdCarros += "#";
                if (strIdCarros != "#")
                {
                    strIdCarros       = strIdCarros.Replace(",#", "");
                    strIdConductores += "#";
                    strIdConductores  = strIdConductores.Replace(",#", "");
                    JsonServicioClaves jsc = new JsonServicioClaves();
                    jsc.JsonServicioHoraMultipleJSON(strIdCarros, 3, strIdConductores, "Sin Conductor Temporal", "Amarillo", false);
                }
            }
        }
        /// <summary>
        /// Pone fuera de servicio los carros de un conductor, y pone al conductor no disponible
        /// </summary>
        /// <param name="id_conductor"></param>
        /// <param name="id_carro"></param>
        public static void FueraServicio(int id_conductor, int id_carro)
        {
            z_conductores cond = new z_conductores().getObjectz_conductores(id_conductor);

            cond.disponible = false;
            cond.modifyz_conductores(cond);
            // fuera serv

            DataSet ds = new z_carros().Getz_carrosDisponibles();

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if ((int)dr["id_conductor"] == id_conductor && (int)dr["id_carro"] != id_carro)
                {
                    // fuera serv
                    Carro.ConductorNoDisponible((int)dr["id_carro"]);
                }
            }
        }
Beispiel #17
0
        public static void VerificarTemporal(z_conductores cond)
        {
            DataSet ds    = new z_carros().Getz_carros();
            bool    tiene = false;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if ((int)dr["id_conductor"] == cond.id_conductor)
                {
                    tiene = true;
                    break;
                }
            }
            // si no tiene más carros en servicio, eliminar conductor
            if (!tiene)
            {
                cond.deletez_conductores(cond.id_conductor);
            }
        }
Beispiel #18
0
 private void btnEliminar_Click(object sender, EventArgs e)
 {
     if (
         MessageBox.Show("¿Está seguro que desea eliminar este conductor?", "Confirmar Eliminación",
                         MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
     {
         try
         {
             // eliminar
             var cond = new z_conductores();
             cond.deletez_conductores((int)listConductores.SelectedValue);
             FillConductores();
         }
         catch (Exception ex)
         {
             Log.ShowAndLog(ex);
         }
     }
 }
Beispiel #19
0
        //private void gvDisponible_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    string valor = gvDisponible.CurrentRow.Cells[1].Value.ToString();
        //    if (valor != "0")
        //    {
        //        // poner en servicio
        //        z_conductores conductor = new z_conductores();
        //        int id_conductor = Convert.ToInt32(gvDisponible.CurrentRow.Cells[1].Value.ToString());
        //        z_carros carro = new z_carros();
        //        carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
        //        var carros = new List<int> { carro.id_carro };

        //        if (carro.estado == 1 && carro.id_conductor != 0)
        //        {
        //            // fuera de servicio con cond. actual
        //            Conductor.FueraServicio(carro.id_conductor, carros);
        //        }

        //        Conductor.PuestaEnServicio(id_conductor, carros, null);

        //        DataRow row = conductor.GetNombreConductor(id_conductor).Tables[0].Rows[0];
        //        lblDesConductor.Text = row["nombre_voluntario"].ToString();
        //        lblDescEstado.Text = "En servicio";

        //        MessageBox.Show("Conductor " + row["nombre_voluntario"].ToString() + " asignado al carro " + RecursosEstaticos.NombreCarro, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
        //    }
        //}

        private void gvDisponible_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string valor = gvDisponible.CurrentRow.Cells[1].Value.ToString();
            Color  color = new Color();

            if (valor != "0")
            {
                // poner en servicio
                z_conductores conductor    = new z_conductores();
                int           id_conductor = Convert.ToInt32(gvDisponible.CurrentRow.Cells[1].Value.ToString());
                z_carros      carro        = new z_carros();
                carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
                var carros = new List <int> {
                    carro.id_carro
                };

                if (carro.estado == 1 && carro.id_conductor != 0)
                {
                    // Fuera de Servicio con este Conductor
                    Conductor.FueraServicio(carro.id_conductor, carros);
                }

                Conductor.PuestaEnServicio(id_conductor, carros, null);

                DataSet ds = new z_conductores().Getz_conductoresCarro(carro.id_carro);
                int     id_tipo_coductor = 0;
                foreach (DataRow row2 in ds.Tables[0].Rows)
                {
                    //if ((int)row2["id_conductor"] == carro.id_conductor)
                    if ((int)row2["id_conductor"] == id_conductor)
                    {
                        id_tipo_coductor = (int)row2["id_tipo_conductor"];
                        break;
                    }
                }
                DataRow row = conductor.GetNombreConductor(id_conductor, id_tipo_coductor).Tables[0].Rows[0];
                lblDesConductor.Text = row["nombre_voluntario"].ToString();
                lblDescEstado.Text   = "En servicio";

                MessageBox.Show("Conductor " + row["nombre_voluntario"].ToString() + " asignado al carro " + RecursosEstaticos.NombreCarro, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #20
0
        private void FillCarros(int id_conductor)
        {
            listCarros.Items.Clear();
            var cond = new z_conductores();

            cond = cond.getObjectz_conductores(id_conductor);

            // lista de carros a integer
            carros        = new List <int>();
            carrosCheck   = new List <int>();
            carrosUncheck = new List <int>();
            carrosAct     = new List <int>();
            if (cond.id_carros != "")
            {
                foreach (string s in cond.id_carros.Split(','))
                {
                    carros.Add(int.Parse(s));
                }
            }

            // agregar
            foreach (int i in carros)
            {
                var carro = new z_carros();
                carro = carro.getObjectz_carros(i);

                // no listar carros en acto, ni carros no existentes
                if (carro.id_carro != 0 && (carro.estado != 4 && carro.estado != 5))
                {
                    if (carro.id_conductor == id_conductor)
                    {
                        listCarros.Items.Add(carro.nombre, true);
                        carrosAct.Add(carro.id_carro);
                    }
                    else
                    {
                        listCarros.Items.Add(carro.nombre);
                    }
                }
            }
        }
 //### Actualiza Listado de Conductores
 private void FillConductores()
 {
     try
     {
         string strCndCod;
         chkList_LiberarConductores.Items.Clear();
         ConductoresCheck = new List <int>();
         var     ObjConductor = new z_conductores();
         DataSet set          = ObjConductor.GetListz_conductoresBloqueados();
         foreach (DataRow dr in set.Tables[0].Rows)
         {
             IdConductores.Add((int)dr["id_conductor"]);
             strCndCod = dr["nombre_completo"].ToString() + " (" + dr["codigo_conductor"].ToString() + ")";
             chkList_LiberarConductores.Items.Add(strCndCod);
         }
     }
     catch (Exception ex)
     {
         Log.ShowAndLog(ex);
     }
 }
Beispiel #22
0
        //### Liberar Carro
        private void button3_Click(object sender, EventArgs e)
        {
            //### JSON SERVICIO 1 = 0-9
            z_carros carro = new z_carros();

            carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
            JsonServicioClaves jsc = new JsonServicioClaves(carro.id_carro);

            // Preguntar antes de liberar
            if (
                MessageBox.Show(
                    "'Liberar Carro' debe ser utilizado sólo como medida de emergencia, ¿Está seguro que desea liberar este carro?",
                    "Liberar Carro", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
            {
                try
                {
                    //z_carros carro = new z_carros();
                    //carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
                    // liberar carro
                    Carro.Liberar(carro.id_carro);
                    var cu = new e_carros_usados();
                    cu = cu.getObjecte_carros_usados(carro.id_carro);
                    cu.freee_carros_usados(cu.id_carro);
                }
                catch (Exception ex)
                {
                    Log.ShowAndLog(ex);
                }
            }

            lblEstadoCarro.Text = "En servicio";

            //### JSON SERVICIO 1 = 0-9
            if (carro.GetParametroPrioridad(6) == "TRUE")
            {
                //### Nombre de Conductor
                string strNomConductor = new z_conductores().Getz_NombreConductor(carro.id_conductor);
                jsc.JsonServicioHora(carro.id_carro, 1, strNomConductor, "0-9", "Verde", false);
            }
        }
Beispiel #23
0
        private void btn_09_Click(object sender, EventArgs e)
        {
            z_conductores conductor = new z_conductores();
            z_carros      carros    = new z_carros();

            if (carros.GetParametroPrioridad(1) == "TRUE")
            {
                carros    = carros.getObjectz_carros(label1.Text.ToString());
                conductor = conductor.getObjectz_conductores(carros.id_conductor);
                string strConductor = conductor.codigo_conductor;

                // #Publicar en Twitter#
                // #Alinne1712#
                System.Diagnostics.Process proceso = new System.Diagnostics.Process();
                proceso.StartInfo.FileName       = @"C:\ZEUS_CBMS\New_App_Twitter\App_Twitter_Mod.exe";
                proceso.StartInfo.Arguments      = "4" + " " + label1.Text.ToString() + " " + "[" + strConductor + " " + DatosLogin.NomUsuario.ToString() + "]";
                proceso.StartInfo.CreateNoWindow = true;
                proceso.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                proceso.Start();

                MessageBox.Show("Se ha publicado en Twitter:   0-9 " + label1.Text.ToString() + "              ", "Sistema ZEUS");
            }
        }
Beispiel #24
0
        public static void FueraServicio(int id_conductor, List <int> carrosUncheck)
        {
            // poner fuera de servicio
            z_conductores cond   = new z_conductores().getObjectz_conductores(id_conductor);
            string        noserv = "";

            foreach (int i in carrosUncheck)
            {
                z_carros carro = new z_carros().getObjectz_carros(i);
                Carro.SinConductor(carro);
                noserv += "," + carro.nombre;
            }
            if (noserv != "")
            {
                BitacoraGestion.NuevoEvento(BitacoraLlamado.IdOperadora, 0,
                                            string.Format(
                                                "Fuera de servicio de carros. Fecha: {0}, Conductor: {1}, Carros: {2}",
                                                DateTime.Now, cond.codigo_conductor, noserv.Trim(',')));
            }
            if (cond.temporal)
            {
                VerificarTemporal(cond);
            }
        }
Beispiel #25
0
        //private void ucEst_Load(object sender, EventArgs e)
        //{
        //    z_estado_carros ec = new z_estado_carros();
        //    z_conductores conductor = new z_conductores();
        //    z_carros carro = new z_carros();
        //    carro = carro.getObjectz_carros(NombreCarro);
        //    ec = ec.getObjectz_estado_carros(carro.estado);
        //    Image img = carro.getImagenByNombre(NombreCarro);
        //    pictureBox1.Image = img;
        //    conductor = conductor.getObjectz_conductores(carro.id_carro);
        //    txtOtro.Enabled = false;

        //    if (carro.estado == 1)
        //    {
        //        rbEnServicio.Checked = true;
        //        gbAsignarCarros.Visible = true;
        //    }

        //    if (carro.estado == 3)
        //    {
        //        lblDescEstado.Text = "Sin Conductor";
        //        rbSinConductor.Checked = true;
        //    }
        //    else
        //    {
        //        lblDescEstado.Text = ec.descripcion + ": " + carro.motivo_fuera_servicio;
        //    }

        //    if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Eléctrico"))
        //    {
        //        rbfsElectrico.Checked = true;
        //    }
        //    else if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Mecánico"))
        //    {
        //        rbfsMecanico.Checked = true;
        //    }
        //    else if (carro.estado == 2 && (!carro.motivo_fuera_servicio.Contains("Mecánico") || !carro.motivo_fuera_servicio.Contains("Eléctrico")))
        //    {
        //        rbfsOtro.Checked = true;
        //        txtOtro.Enabled = true;
        //        txtOtro.Text = carro.motivo_fuera_servicio;
        //    }

        //    lblDesConductor.Text = carro.id_conductor.ToString();

        //    if (conductor.GetNombreConductor(carro.id_conductor).Tables[0].Rows.Count == 0)
        //    {
        //        lblDesConductor.Text = "";
        //    }
        //    else
        //    {
        //        DataRow row = conductor.GetNombreConductor(carro.id_conductor).Tables[0].Rows[0];
        //        lblDesConductor.Text = row["nombre_voluntario"].ToString();
        //    }

        //    txtObservacion.Text = carro.Observacion2;
        //    lblIngresoOperadora.Text = carro.OpObservacion2;
        //    LlenarEnServicio();
        //}

        private void ucEst_Load(object sender, EventArgs e)
        {
            z_estado_carros ec        = new z_estado_carros();
            z_conductores   conductor = new z_conductores();
            z_carros        carro     = new z_carros();

            carro = carro.getObjectz_carros(NombreCarro);
            ec    = ec.getObjectz_estado_carros(carro.estado);
            Image img = carro.getImagenByNombre(NombreCarro);

            pictureBox1.Image = img;
            conductor         = conductor.getObjectz_conductores(carro.id_carro);
            txtOtro.Enabled   = false;

            if (carro.estado == 1)
            {
                rbEnServicio.Checked    = true;
                gbAsignarCarros.Visible = true;
            }

            if (carro.estado == 3)
            {
                lblDescEstado.Text     = "Sin Conductor";
                rbSinConductor.Checked = true;
            }
            else
            {
                lblDescEstado.Text = ec.descripcion + ": " + carro.motivo_fuera_servicio;
            }

            if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Eléctrico"))
            {
                rbfsElectrico.Checked = true;
            }
            else if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Mecánico"))
            {
                rbfsMecanico.Checked = true;
            }
            else if (carro.estado == 2 && (!carro.motivo_fuera_servicio.Contains("Mecánico") || !carro.motivo_fuera_servicio.Contains("Eléctrico")))
            {
                rbfsOtro.Checked = true;
                txtOtro.Enabled  = true;
                txtOtro.Text     = carro.motivo_fuera_servicio;
            }

            DataSet ds = new z_conductores().Getz_conductoresCarro(carro.id_carro);
            int     id_tipo_coductor = 0;

            foreach (DataRow row2 in ds.Tables[0].Rows)
            {
                if ((int)row2["id_conductor"] == carro.id_conductor)
                {
                    id_tipo_coductor = (int)row2["id_tipo_conductor"];
                    break;
                }
            }


            lblDesConductor.Text = carro.id_conductor.ToString();

            if (conductor.GetNombreConductor(carro.id_conductor, id_tipo_coductor).Tables[0].Rows.Count == 0)
            {
                lblDesConductor.Text = "";
            }
            else
            {
                DataRow row = conductor.GetNombreConductor(carro.id_conductor, id_tipo_coductor).Tables[0].Rows[0];
                lblDesConductor.Text = row["nombre_voluntario"].ToString();
            }

            txtObservacion.Text      = carro.Observacion2;
            lblIngresoOperadora.Text = carro.OpObservacion2;
            LlenarEnServicio();
        }
        //#########################
        //###   JSON Bitacora   ###
        //#########################
        public void ApoloHoraCarro(string ClaveCarro, int iDcarro, string nomVoluntario, int CantTripulan, int IdExp)
        {
            //# Objeto Expediente
            exp = exp.getObjecte_expedientes(IdExp);
            string[] GetFechaHora  = exp.fecha.ToString().Split(' ');
            string[] GetHoraActual = System.DateTime.Now.ToString().Split(' ');

            //# Objeto Carro
            var ccarros = new z_carros();

            ccarros = ccarros.getObjectz_carros(iDcarro);
            string strCarro        = ccarros.nombre;
            string strNomConductor = new z_conductores().Getz_NombreConductor(ccarros.id_conductor).ToString();

            strNomConductor = strNomConductor.Replace("Ñ", "N");

            //# Carro en Llamado
            //var cen = new CarroEnLlamado(iDcarro);
            //string aCargoVol = cen.id

            JsonBitacora bitacora = new JsonBitacora();

            bitacora.expediente = exp.id_expediente.ToString();
            bitacora.fecha      = GetFechaHora[0].ToString();
            bitacora.hora       = GetFechaHora[1].ToString();
            bitacora.clave      = ClaveCarro;
            bitacora.carro      = iDcarro;
            if (ClaveCarro == "6-0")
            {
                bitacora.hora_clave = GetFechaHora[1].ToString();
            }
            else
            {
                bitacora.hora_clave = GetHoraActual[1].ToString();
            }
            bitacora.conductor = strNomConductor;
            nomVoluntario      = nomVoluntario.Replace("Ñ", "N");
            bitacora.a_cargo   = nomVoluntario;
            bitacora.tripulan  = CantTripulan;

            string jsonBit   = JsonConvert.SerializeObject(bitacora);
            string jsonBit_2 = jsonBit.Replace("\"", "%");
            string jsonBit_3 = jsonBit_2.Replace(" ", "?");

            if (ccarros.GetParametroPrioridad(6).Equals("TRUE"))
            {
                System.Diagnostics.Process proceso2 = new System.Diagnostics.Process();

                proceso2.StartInfo.FileName       = @"C:\ZEUS_CBMS\Apolo\bitacoras.py";
                proceso2.StartInfo.Arguments      = jsonBit_3;
                proceso2.StartInfo.CreateNoWindow = true;
                proceso2.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                proceso2.Start();
            }



            //### Escribir JSON Bitacora
            string       fic = @"C:\ZEUS_CBMS\ZTablasApolo\JsonBitacora_" + ClaveCarro + "_" + System.DateTime.Now.ToString("yyyyMMddhhmmss") + ".txt";
            StreamWriter sw  = new StreamWriter(fic);

            sw.WriteLine(" JSON Bitacora Claves: 6-0, 6-1, 6-3, 6-9 y 6-10   ZEUS");
            sw.WriteLine("");
            sw.WriteLine(jsonBit_3);
            sw.Close();
        }
Beispiel #27
0
        //### Llenar Controles
        public void LlenarControles()
        {
            z_estado_carros ec        = new z_estado_carros();
            z_conductores   conductor = new z_conductores();

            z_carros carro = new z_carros();

            //if (carro.GetParametroPrioridad(1) == "TRUE")
            //{
            //    checkBox1.Checked = true;
            //}
            //else
            //{
            //    checkBox1.Checked = false;
            //}

            //if (carro.GetParametroPrioridad(2) == "TRUE")
            //{
            //    checkBox2.Checked = true;
            //}
            //else
            //{
            //    checkBox2.Checked = false;
            //}

            carro = carro.getObjectz_carros(NombreCarro);
            ec    = ec.getObjectz_estado_carros(carro.estado);

            //#f  Comentar estas Lineas y Agregar los IF
            //Image img = carro.getImagenByNombre(NombreCarro);
            //pictureBox1.Image = img;
            if (System.IO.File.Exists(carro.urlimagen))
            {
                pictureBox1.ImageLocation = carro.urlimagen == string.Empty ? @"C:\ZEUS\Resources\Carros\comodin.jpg" : carro.urlimagen;
            }
            else
            {
                pictureBox1.ImageLocation = @"C:\ZEUS\Resources\Carros\comodin.jpg";
            }

            conductor       = conductor.getObjectz_conductores(carro.id_carro);
            txtOtro.Enabled = false;

            if (carro.estado == 1)
            {
                rbEnServicio.Checked    = true;
                gbAsignarCarros.Visible = true;
            }

            if (carro.estado == 3)
            {
                //lblDescEstado.Text = "Sin Conductor";
                lblDescEstado.Text     = "";
                rbSinConductor.Checked = true;
            }
            else
            {
                //lblDescEstado.Text = ec.descripcion + ": " + carro.motivo_fuera_servicio;
                lblDescEstado.Text = ec.descripcion;
            }

            if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Eléctrico"))
            {
                rbfsElectrico.Checked = true;
            }
            else if (carro.estado == 2 && carro.motivo_fuera_servicio.Contains("Mecánico"))
            {
                rbfsMecanico.Checked = true;
            }
            else if (carro.estado == 2 && (!carro.motivo_fuera_servicio.Contains("Mecánico") || !carro.motivo_fuera_servicio.Contains("Eléctrico")))
            {
                rbfsOtro.Checked = true;
                txtOtro.Enabled  = true;
                txtOtro.Text     = carro.motivo_fuera_servicio;
            }


            //### Obtiene Tipo y Nombre de Conductor
            DataSet ds = new z_conductores().Getz_conductoresCarro(carro.id_carro);
            int     id_tipo_coductor = 0;

            foreach (DataRow row2 in ds.Tables[0].Rows)
            {
                if ((int)row2["id_conductor"] == carro.id_conductor)
                {
                    id_tipo_coductor = (int)row2["id_tipo_conductor"];
                    break;
                }
            }
            lblDesConductor.Text = carro.id_conductor.ToString();
            if (conductor.GetNombreConductor(carro.id_conductor, id_tipo_coductor).Tables[0].Rows.Count == 0)
            {
                lblDesConductor.Text = "";
            }
            else
            {
                DataRow row = conductor.GetNombreConductor(carro.id_conductor, id_tipo_coductor).Tables[0].Rows[0];
                lblDesConductor.Text = row["nombre_voluntario"].ToString();
            }

            //### Muestra la Observación del Carro
            txtObservacion.Text = carro.Observacion2;
            //lblIngresoOperadora.Text = carro.OpObservacion2;

            //### Agregar Conductores Autorizados
            LlenarEnServicio();
        }
Beispiel #28
0
        //#########################
        //###   JSON Salidas   ###
        //#########################
        public void ApoloHoraCarro(int idgestion, string ClaveCarro, int iDcarro, string nomVoluntario, int CantTripulan, int IdExp)
        {
            //# Objeto Expediente
            exp = exp.getObjecte_expedientes(IdExp);
            string[] GetFechaHora  = exp.fecha.ToString().Split(' ');
            string[] GetHoraActual = System.DateTime.Now.ToString().Split(' ');

            //# Objeto Carro
            var ccarros = new z_carros();

            ccarros = ccarros.getObjectz_carros(iDcarro);
            string strNomConductor = new z_conductores().Getz_NombreConductor(ccarros.id_conductor).ToString().Replace("Ñ", "N");
            string strCarro        = ccarros.nombre.Replace("Ñ", "N");

            //# Carro en Llamado
            //var cen = new CarroEnLlamado(iDcarro);
            //string aCargoVol = cen.id

            JsonSalida salida = new JsonSalida();

            salida.idgestion = idgestion;
            switch (IdExp)
            {
            case -1:
                salida.acto = "6-13";
                break;

            case -2:
                salida.acto = "6-14";
                break;

            case -3:
                salida.acto = "6-15";
                break;

            default:
                break;
            }
            salida.fecha     = GetHoraActual[0].ToString();
            salida.hora      = GetHoraActual[1].ToString();
            salida.clave     = ClaveCarro;
            salida.carro     = iDcarro;
            salida.conductor = strNomConductor;
            salida.a_cargo   = nomVoluntario.Replace("Ñ", "N");
            salida.tripulan  = CantTripulan;

            string jsonBit   = JsonConvert.SerializeObject(salida);
            string jsonBit_2 = jsonBit.Replace("\"", "%");
            string jsonBit_3 = jsonBit_2.Replace(" ", "?");

            if (ccarros.GetParametroPrioridad(6).Equals("TRUE"))
            {
                System.Diagnostics.Process proceso2 = new System.Diagnostics.Process();
                proceso2.StartInfo.FileName       = @"C:\ZEUS_CBMS\Apolo\salidas.py";
                proceso2.StartInfo.Arguments      = jsonBit_3;
                proceso2.StartInfo.CreateNoWindow = true;
                proceso2.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                proceso2.Start();
            }


            //### Escribir JSON Salidas
            string       fic = @"C:\ZEUS_CBMS\ZTablasApolo\JsonSalidas.txt";
            StreamWriter sw  = new StreamWriter(fic);

            sw.WriteLine("JSON Bitacora ZEUS");
            sw.WriteLine("");
            sw.WriteLine(jsonBit_3);
            sw.Close();
        }
Beispiel #29
0
        //private void gvDisponible_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
        //    string valor = gvDisponible.CurrentRow.Cells[1].Value.ToString();
        //    if (valor != "0")
        //    {
        //        // poner en servicio
        //        z_conductores conductor = new z_conductores();
        //        int id_conductor = Convert.ToInt32(gvDisponible.CurrentRow.Cells[1].Value.ToString());
        //        z_carros carro = new z_carros();
        //        carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
        //        var carros = new List<int> { carro.id_carro };

        //        if (carro.estado == 1 && carro.id_conductor != 0)
        //        {
        //            // fuera de servicio con cond. actual
        //            Conductor.FueraServicio(carro.id_conductor, carros);
        //        }

        //        Conductor.PuestaEnServicio(id_conductor, carros, null);

        //        DataRow row = conductor.GetNombreConductor(id_conductor).Tables[0].Rows[0];
        //        lblDesConductor.Text = row["nombre_voluntario"].ToString();
        //        lblDescEstado.Text = "En servicio";

        //        MessageBox.Show("Conductor " + row["nombre_voluntario"].ToString() + " asignado al carro " + RecursosEstaticos.NombreCarro, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
        //    }
        //}


        //### 0-9
        private void gvDisponible_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            //### JSON SERVICIO 1 = 0-9
            z_carros carro = new z_carros();

            carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
            JsonServicioClaves jsc = new JsonServicioClaves(carro.id_carro);

            string valor = gvDisponible.CurrentRow.Cells[1].Value.ToString();
            Color  color = new Color();

            if (valor != "0")
            {
                // poner en servicio
                z_conductores conductor    = new z_conductores();
                int           id_conductor = Convert.ToInt32(gvDisponible.CurrentRow.Cells[1].Value.ToString());
                //z_carros carro = new z_carros();
                //carro = carro.getObjectz_carros(RecursosEstaticos.NombreCarro);
                var carros = new List <int> {
                    carro.id_carro
                };

                if (carro.estado == 1 && carro.id_conductor != 0)
                {
                    DataSet ds1 = new z_conductores().Getz_conductoresCarro(carro.id_carro);
                    int     id_tipo_coductor1 = 0;
                    foreach (DataRow row2 in ds1.Tables[0].Rows)
                    {
                        //if ((int)row2["id_conductor"] == carro.id_conductor)
                        if ((int)row2["id_conductor"] == id_conductor)
                        {
                            id_tipo_coductor1 = (int)row2["id_tipo_conductor"];
                            break;
                        }
                    }

                    z_servicio servicio1 = new z_servicio(carro.id_carro, System.DateTime.Now, 1, carro.id_conductor, "Gestión M.M.: Asignación de conductor para el carro " + RecursosEstaticos.NombreCarro + "");
                    servicio1.Insert(servicio1);

                    //### JSON SERVICIO 1 = 0-9
                    if (carro.GetParametroPrioridad(6) == "TRUE")
                    {
                        //jsc.JsonServicioHora(carro.id_carro, 1, "Juan Perez", "0-9", "Verde");
                    }

                    // Fuera de Servicio con este Conductor
                    Conductor.FueraServicio(carro.id_conductor, carros);
                }

                Conductor.PuestaEnServicio(id_conductor, carros, null);


                //### JSON SERVICIO 1 = 0-9
                if (carro.GetParametroPrioridad(6) == "TRUE")
                {
                    //### Nombre de Conductor
                    string strNomConductor = new z_conductores().Getz_NombreConductor(id_conductor);
                    jsc.JsonServicioHora(carro.id_carro, 1, strNomConductor, "0-9", "Verde", true);
                }


                DataSet ds = new z_conductores().Getz_conductoresCarro(carro.id_carro);
                int     id_tipo_coductor = 0;
                foreach (DataRow row2 in ds.Tables[0].Rows)
                {
                    //if ((int)row2["id_conductor"] == carro.id_conductor)
                    if ((int)row2["id_conductor"] == id_conductor)
                    {
                        id_tipo_coductor = (int)row2["id_tipo_conductor"];
                        break;
                    }
                }

                DataRow row = conductor.GetNombreConductor(id_conductor, id_tipo_coductor).Tables[0].Rows[0];
                lblDesConductor.Text = row["nombre_voluntario"].ToString();
                lblDescEstado.Text   = "En servicio";

                z_servicio servicio2 = new z_servicio(carro.id_carro, System.DateTime.Now, 1, carro.id_conductor, "Gestión M.M.: Conductor queda en servicio para el carro " + carro.nombre + "");
                servicio2.Insert(servicio2);

                MessageBox.Show("Conductor " + row["nombre_voluntario"].ToString() + " asignado al carro " + RecursosEstaticos.NombreCarro, "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);

                //### Hacer Click al 0-9
                btn_09.PerformClick();
            }
        }
Beispiel #30
0
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            int vCombo = 0;

            ////z_carros carros = new z_carros();
            //if (coordenadas_carro == null && comboCoordenada.SelectedIndex != -1)
            //{
            //    coordenadas_carro = comboCoordenada.SelectedValue.ToString().Split('/');
            //}

            //if (comboClave.SelectedIndex == -1)
            //{
            //    MessageBox.Show("Debe seleccionar una clave.", "Mensaje de ZEUS");
            //    return;
            //}
            //if (comboCoordenada.SelectedIndex == -1)
            //{
            //    MessageBox.Show("Debe seleccionar una ubiación.", "Mensaje de ZEUS");
            //    return;
            //}
            //if (comboCarro.SelectedIndex == -1)
            //{
            //    MessageBox.Show("Debe seleccionar Material Mayor", "Mensaje de ZEUS");
            //    return;
            //}

            //try
            //{
            //    // asignación de expedientes falsos:
            //    // 6-13: -1, 6-14: -2, 6-15: -3

            //    string[] arregloClave = comboClave.SelectedValue.ToString().Split(':');

            //    if(arregloClave[0].ToString() == "6-13")
            //    {
            //        vCombo = -1;
            //    }

            //    if (arregloClave[0].ToString() == "6-14")
            //    {
            //        vCombo = -2;
            //    }

            //    if (arregloClave[0].ToString() == "6-15")
            //    {
            //        vCombo = -3;
            //    }

            //    //### Despachar
            //    Despacho.DespachoGestion((int) comboCarro.SelectedValue, radio09.Checked,
            //                             vCombo, comboClave.Text, coordenadas_carro);
            //    //### Registrar en Bitaciora
            //    BitacoraGestion.NuevoEvento(ZeusWin.IdOperadora, ZeusWin.IdAval,
            //                                "Carro: " + comboCarro.Text + " Despachado a " + comboClave.Text + " -> " + comboCoordenada.Text);

            //    //### Agregar Ubicación de 6-13, 614 o 6-15
            //    Carro.SetUbicacion613(Convert.ToInt32(comboCarro.SelectedValue.ToString()), comboCoordenada.Text.ToString());


            //    //### Si se despachó fuera de servicio, poner en bitácora
            //    if (radio08.Checked)
            //    {
            //        BitacoraGestion.NuevoEvento(ZeusWin.IdOperadora, ZeusWin.IdAval,
            //                                    "Carro: " + comboCarro.Text + " Fuera de Servicio (" + comboClave.Text +
            //                                    ")");
            //    }
            //    // actualizar vista
            //    CargarCarros();

            //    Close();



            if (comboClave.SelectedIndex == -1)
            {
                MessageBox.Show("Debe seleccionar una clave.", "Sistema ZEUS");
                return;
            }
            if (comboCarro.SelectedIndex == -1)
            {
                MessageBox.Show("Debe seleccionar Material Mayor", "Sistema ZEUS");
                return;
            }

            try
            {
                // asignación de expedientes falsos:
                // 6-13: -1, 6-14: -2, 6-15: -3

                string[] arregloClave = comboClave.Text.ToString().Split(':');

                //MessageBox.Show(comboClave.Text.ToString(), "Sistema ZEUS   Antes de SPLIT");

                //MessageBox.Show(arregloClave[0].ToString(), "Sistema ZEUS   Split[0]");


                if (arregloClave[0].ToString() == "6-13")
                {
                    vCombo = -1;
                }

                if (arregloClave[0].ToString() == "6-14")
                {
                    vCombo = -2;
                }

                if (arregloClave[0].ToString() == "6-15")
                {
                    vCombo = -3;
                }


                //### Publicar en Twitter
                string strEstado = "";
                if (radio09.Checked)
                {
                    strEstado = "  0-9";
                }
                else
                {
                    strEstado = "  0-8";
                }
                string[] strClave   = comboClave.Text.ToString().Split(':');
                string   str6131415 = comboCarro.Text + "   " + strClave[0] + strEstado;
                //MessageBox.Show(str6131415, "GEObit");
                z_carros carros = new z_carros();
                if (carros.GetParametroPrioridad(1) == "TRUE")
                {
                    System.Diagnostics.Process proceso = new System.Diagnostics.Process();
                    proceso.StartInfo.FileName       = @"C:\ZEUS_CBMS\New_App_Twitter\App_Twitter_Mod.exe";
                    proceso.StartInfo.Arguments      = "1" + " " + str6131415 + " ";
                    proceso.StartInfo.CreateNoWindow = true;
                    proceso.StartInfo.WindowStyle    = System.Diagnostics.ProcessWindowStyle.Hidden;
                    proceso.Start();
                    //MessageBox.Show(str6131415, "GEObit");
                    //MessageBox.Show("Twitter publicado de forma exitosa", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }



                //### JSON SERVICIO 2 = 0-8
                z_carros carro = new z_carros();
                carro = carro.getObjectz_carros(comboCarro.Text);
                JsonServicioClaves jsc = new JsonServicioClaves(carro.id_carro);


                //### JSON APOLO EVENTO
                z_carros ca = new z_carros();
                if (ca.GetParametroPrioridad(6) == "TRUE")
                {
                    //### Generar ID de Salida
                    bitacora_gestion bit_gest = new bitacora_gestion();
                    bit_gest.InsertIdGestion(vCombo, comboCarro.Text);
                    //# Obtener ID de Gestión
                    int idSalidaCarro = bit_gest.SelectIdGestion(vCombo, comboCarro.Text);

                    //### SALIDA
                    JsonGestionCarroClave JsGetCar = new JsonGestionCarroClave();
                    JsGetCar.ApoloHoraGestionCarro(vCombo, carro.id_carro, ZeusWin.IdOperadora, idSalidaCarro);

                    //### MATERIAL DISPONIBLE
                    //# Nombre de Conductor
                    string strNomConductor = new z_conductores().Getz_NombreConductor(carro.id_conductor);
                    if (radio09.Checked)
                    {
                        jsc.JsonServicioHora(carro.id_carro, 1, strNomConductor, "0-9", "VerdeClaro", true);
                    }
                    else
                    {
                        jsc.JsonServicioHora(carro.id_carro, 4, strNomConductor, "0-8", "Azul", true);
                    }

                    //### 6-0 del Carro
                    if (idSalidaCarro > 0)
                    {
                        var JsSaCl = new JsonSalidaClaves(carro.id_carro);
                        JsSaCl.ApoloHoraCarro(idSalidaCarro, "6-0", carro.id_carro, "", 0, vCombo);
                    }
                }

                // despachar OLD
                //Despacho.DespachoGestion((int)comboCarro.SelectedValue, radio09.Checked,
                //                         (comboClave.SelectedIndex + 1) * -1, comboClave.Text);
                Despacho.DespachoGestion((int)comboCarro.SelectedValue, radio09.Checked,
                                         vCombo, comboClave.Text);



                // registrar en bitaciora
                BitacoraGestion.NuevoEvento(ZeusWin.IdOperadora, ZeusWin.IdAval,
                                            "Carro: " + comboCarro.Text + " Despachado a " + comboClave.Text);

                // si se despachó fuera de servicio, poner en bitácora
                if (radio08.Checked)
                {
                    BitacoraGestion.NuevoEvento(ZeusWin.IdOperadora, ZeusWin.IdAval,
                                                "Carro: " + comboCarro.Text + " Fuera de Servicio (" + comboClave.Text +
                                                ")");
                }
                // actualizar vista
                CargarCarros();
                Close();
            }
            catch (Exception ex)
            {
                Log.ShowAndLog(ex);
            }
        }