Example #1
0
 private void dataGridView_Automovil_Turnos_Actuales_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == dataGridView_Automovil_Turnos_Actuales.Columns["Deshabilitar  Turno al Automovil"].Index && e.RowIndex >= 0)
     {
         String  idTurnoAModificar = dataGridView_Automovil_Turnos_Actuales.Rows[e.RowIndex].Cells["Turno N°"].Value.ToString();
         Boolean pudoModificar     = mapper.ActualizarEstadoTurnoAutomovil(this.idAutomovilTurno, Convert.ToInt32(idTurnoAModificar), 0);
         if (pudoModificar)
         {
             MessageBox.Show("Turno deshabilitado del automovil correctamente");
         }
         dataGridView_Automovil_Turnos_Actuales.Rows[e.RowIndex].Cells["Habilitado"].Value = false;
         CargarTurnoAutomovil();
         return;
     }
 }
Example #2
0
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            // Guarda en variables todos los campos de entrada
            String  Marca             = comboBox_Marca.Text;
            String  Modelo            = textBox_Modelo.Text;
            String  Patente           = textBox_Patente.Text;
            String  TurnoSeleccionado = comboBox_Turno.Text;
            String  DniChofer         = textBox_Chofer.Text;
            Boolean activo            = checkBox_Habilitado.Checked;
            Boolean pudoModificar;
            Boolean checkBoxActivoDeshabilitar_Chofer = checkBoxDeshabilitar_chofer.Checked;
            Boolean existeTurnoAutomovil;
            Boolean existeChoferAutomovil;

            try
            {
                Automoviles auto = new Automoviles();

                auto.SetMarca(Marca);
                auto.SetModelo(Modelo);
                auto.SetPatente(Patente);
                auto.SetActivo(activo);

                this.SetIdChofer(DniChofer);

                if (TurnoSeleccionado != "Ninguno")
                {
                    String IDTurno = this.obtenerIdTurnoaPartirDeCombobox(comboBox_Turno.Text);
                    this.SetIdTurno(IDTurno);
                }


                existeTurnoAutomovil = mapper.ExisteEstadoTunoAutomovil(this.idAutomovil, idTurno);

                existeChoferAutomovil = mapper.ExisteChoferAutomovil(this.idAutomovil, this.idChofer);

                int idChoferViejo = mapper.obtenerIdChoferApartirDelDNI(dniChoferAutomovil);
                int idChoferNuevo = mapper.obtenerIdChoferApartirDelDNI(DniChofer);

                if (existeTurnoAutomovil)
                {
                    this.pudoActualizarTurnoAutomovil = mapper.ActualizarEstadoTurnoAutomovil(this.idAutomovil, idTurno, 1);
                }
                else
                {
                    if (TurnoSeleccionado != "Ninguno")
                    {
                        this.pudoActualizarTurnoAutomovil = mapper.AgregarTurnoAutomovil(this.idAutomovil, idTurno);
                    }
                    else
                    {
                        pudoActualizarTurnoAutomovil = true;
                    }
                }


                if (idChoferNuevo != idChoferViejo)
                {
                    if (existeChoferAutomovil)
                    {
                        //deshabilitar el chofer dni viejo
                        mapper.ActualizarEstadoChoferAutomovil(this.idAutomovil, idChoferViejo, 0);
                        //habilitar el chofer dni nuevo
                        this.pudoActualizarChoferAutomovil = mapper.ActualizarEstadoChoferAutomovil(this.idAutomovil, idChoferNuevo, 1);
                    }
                    else
                    {
                        this.pudoActualizarChoferAutomovil = mapper.AsignarChoferaAutomovil(this.idAutomovil, idChoferNuevo);//aca llamo al procedure pr_agregar_chofer_a_automovil
                        if (pudoActualizarChoferAutomovil)
                        {
                            mapper.ActualizarEstadoChoferAutomovil(this.idAutomovil, idChoferViejo, 0);
                        }
                    }
                }
                else
                {
                    Boolean existeChoferAutomovilActivo;
                    existeChoferAutomovilActivo = mapper.ExisteChoferAutomovilActivo(this.idChofer, this.idAutomovil, 1);//Esto quiere decir que ya existe el chofer en la tabla choferporAuto con la columna auto_chofer_estado en 1


                    if (checkBoxActivoDeshabilitar_Chofer)
                    {
                        //deshabilitar  chofer
                        this.pudoActualizarChoferAutomovil = mapper.ActualizarEstadoChoferAutomovil(this.idAutomovil, idChoferViejo, 0);
                    }
                    else
                    {
                        if (existeChoferAutomovil)
                        {
                            if (existeChoferAutomovilActivo)
                            {
                                throw new ExisteChoferAutomovilHabilitadoException("Ya existe un Automovil activo para este Chofer");//Esto quiere decir que ya existe el chofer en la tabla choferporAuto con la columna auto_chofer_estado en 1
                            }
                            else
                            {
                                this.pudoActualizarChoferAutomovil = mapper.ActualizarEstadoChoferAutomovil(this.idAutomovil, idChoferViejo, 1);
                            }
                        }
                    }
                }
                pudoModificar = mapper.Modificar(idAutomovil, auto);

                if (pudoModificar && pudoActualizarTurnoAutomovil && pudoActualizarChoferAutomovil)
                {
                    MessageBox.Show("Automovil modificado correctamente");
                }

                this.Close();
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo : " + exception.Message);
                return;
            }
            catch (FormatoInvalidoException exception)
            {
                MessageBox.Show("Datos mal ingresados en: " + exception.Message);
                return;
            }

            catch (ChoferInexistenteException exceptionChoferNoexite)
            {
                MessageBox.Show(exceptionChoferNoexite.Message);
                return;
            }
            catch (ExisteChoferAutomovilHabilitadoException exceptionChoferAutoActivoexiste)
            {
                MessageBox.Show(exceptionChoferAutoActivoexiste.Message, "Coche activo ya asignado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            catch (SqlException error)
            {
                switch (error.Number)
                {
                case 51005: MessageBox.Show(error.Message, "Coche activo ya asignado", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
        }