예제 #1
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");
        }