Exemplo n.º 1
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);
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void button1_Click(object sender, EventArgs e)
        {
            // verificar
            bool   ok  = true;
            string msg = "Han ocurrido los siguientes errores:\n";

            if (listNombres.SelectedIndex == -1)
            {
                msg += "* No ha seleccionado conductor.\n";
                ok   = false;
            }
            if (carrosCheck.Count == 0 && carrosUncheck.Count == 0)
            {
                msg += "* No ha seleccionado carros.\n";
                ok   = false;
            }
            if (checkTemporal.Checked && textAutoriza.Text == "")
            {
                msg += "* No ha ingresado oficial que autoriza.\n";
                ok   = false;
            }
            if (!ok)
            {
                MessageBox.Show(msg, "Faltan datos");
                return;
            }
            //MessageBox.Show("En desarrollo");
            //return;

            // obtener id de conductor desde temporal o el correspondiente
            int id_conductor = checkTemporal.Checked ? Conductor.CrearConductorTemporal(((KeyValuePair <string, int>)listNombres.SelectedItem).Value,
                                                                                        carrosCheck) : new z_conductores().getObjectz_conductores(
                ((KeyValuePair <string, int>)listNombres.SelectedItem).Value).id_conductor;

            // poner en servicio o agregar a la tabla de puesta en serv
            if (radioProgramar.Checked)
            {
                // programar
                var ps = new z_puesta_servicio
                {
                    fecha_hora   = datePuestaServicio.Value,
                    id_conductor = id_conductor,
                    id_operadora = IZeusWin.IdOperadora
                };
                foreach (int i in carrosCheck)
                {
                    ps.id_carros_ps += "," + i;
                }
                ps.id_carros_ps = ps.id_carros_ps.Trim(',');

                foreach (int i in carrosUncheck)
                {
                    ps.id_carros_fs += "," + i;
                }
                ps.id_carros_fs = ps.id_carros_fs.Trim(',');
                ps.addz_puesta_servicio(ps);
                // temporal??
                string auth = "";
                if (checkTemporal.Checked)
                {
                    auth = ", Autorizado por: " + textAutoriza.Text;
                }
                if (ps.id_carros_ps != "")
                {
                    BitacoraGestion.NuevoEvento(IZeusWin.IdOperadora, IZeusWin.IdAval,
                                                string.Format(
                                                    "Puesta en servicio programada. Fecha: {0}, Conductor: {1}, Carros: {2}" +
                                                    auth, ps.fecha_hora,
                                                    new z_conductores().getObjectz_conductores(id_conductor).
                                                    codigo_conductor, ps.id_carros_ps));
                }
                if (ps.id_carros_fs != "")
                {
                    BitacoraGestion.NuevoEvento(IZeusWin.IdOperadora, IZeusWin.IdAval,
                                                string.Format(
                                                    "Fuera de servicio programado. Fecha: {0}, Conductor: {1}, Carros: {2}",
                                                    ps.fecha_hora,
                                                    new z_conductores().getObjectz_conductores(id_conductor).
                                                    codigo_conductor, ps.id_carros_fs));
                }
            }
            else
            {
                // poner en servicio
                Conductor.PuestaEnServicio(id_conductor, carrosCheck, textAutoriza.Text);
                Conductor.FueraServicio(id_conductor, carrosUncheck);
            }


            // todo: bitacora
            MessageBox.Show("Se ha realizado la operación exitosamente");
        }