public FormRegistrarVehiculo()
        {
            InitializeComponent();

            logicaVehiculo = new LogicaVehiculo();
            logicaColor = new LogicaColor();
            logicaMarca = new LogicaMarca();
            logicaModelo = new LogicaModelo();
            logicaVersion = new LogicaVersion();

            VehiculoActual = new Vehiculo();

            // Setea que atributo de los objetos se mostrará en el comboBox.
            cmb_modelo.DisplayMember = "Nombre";
            cmb_marca.DisplayMember = "Nombre";
            cmb_color.DisplayMember = "Nombre";
            cmb_version.DisplayMember = "Nombre";

            // Setea el Uso a "Usado".
            cmb_uso.SelectedIndex = 0;

            // Setea el kilometraje con valor 1 km y el minimo del nud en 1 (si es usado no puede tener 0 km).
            nud_kilometraje.Minimum = 1;
            nud_kilometraje.Value = 1;

            cb_estaPatentado.Checked = true;
            nud_añoPatentamiento.Value = 2000;

            // Carga los comboBox con valores
            CargarMarcasModelosVersiones();
            CargarColores();
        }
Example #2
0
        public FormBaseVehiculo()
        {
            InitializeComponent();

            logicaVehiculo = new LogicaVehiculo();
            logicaColor = new LogicaColor();
            logicaMarca = new LogicaMarca();
            logicaModelo = new LogicaModelo();
            logicaVersion = new LogicaVersion();

            VehiculoActual = new Vehiculo();
            ListaVehiculos = new List<Vehiculo>();

            // Setea que atributo de los objetos se mostrará en el comboBox.
            cmb_modelo.DisplayMember = "Nombre";
            cmb_marca.DisplayMember = "Nombre";
            cmb_color.DisplayMember = "Nombre";
            cmb_version.DisplayMember = "Nombre";

            cmb_color.ValueMember = "idColor";

            // Carga los comboBox con valores
            CargarMarcasModelosVersiones();
            CargarColores();
            cmb_color.SelectedItem = null;

            // Dar formato a la grilla de vehículos
            FormatearDgv_vehiculos();

            // Deshabilitar la escritura o selección de los controles
            DeshabilitarControles();
        }
Example #3
0
        // CORROBORADO
        public Estado GetEstadoMasReciente(Vehiculo vehiculoActual)
        {
            List<Estado> listaEstados = new List<Estado>();

            String query = "SELECT * FROM Estados WHERE idVehiculo = '" + vehiculoActual.IdVehiculo + "'";
            SqlCommand command = connection.CreateCommand();
            command.CommandText = query;

            Estado estadoMasReciente = new Estado();

            try
            {
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();

                // Buscar todos los estados de vehiculoActual
                while (reader.Read())
                {
                    Estado estadoActual = new Estado();

                    estadoActual.IdVehiculo = vehiculoActual.IdVehiculo;
                    estadoActual.Fecha = Convert.ToDateTime(reader["fecha"]);

                    String tipoEstado = Convert.ToString(reader["tipoEstado"]);
                    switch(tipoEstado)
                    {
                        case "Disponible":
                            estadoActual.TipoEstado = Estado.TiposEstado.Disponible;
                            break;
                        case "Vendido":
                            estadoActual.TipoEstado = Estado.TiposEstado.Vendido;
                            break;
                    }

                    listaEstados.Add(estadoActual);
                }

                // Buscar el estado más reciente
                foreach (Estado estadoActual in listaEstados)
                {
                    if (estadoActual.Fecha > estadoMasReciente.Fecha)
                    {
                        estadoMasReciente = estadoActual;
                    }
                }
            }
            catch (Exception ex)
            {
                Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar recuperar los colores. Por favor, vuelva a intentarlo.", ex);
                throw excepcionManejada;
            }
            finally
            {
                connection.Close();
            }

            return estadoMasReciente;
        }
Example #4
0
 public void ModificarVehiculo(Vehiculo vehiculoModificado)
 {
     try
     {
         datosVehiculo.ModificarVehiculo(vehiculoModificado);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #5
0
        // CORROBORADO
        public void RegistrarVehiculo(Vehiculo vehiculoNuevo)
        {

            vehiculoNuevo.Estado.TipoEstado = Estado.TiposEstado.Disponible;
            vehiculoNuevo.Estado.Fecha = DateTime.Now;

            vehiculoNuevo.FechaRegistro = vehiculoNuevo.Estado.Fecha;

            try
            {
                datosVehiculo.RegistrarVehiculo(vehiculoNuevo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
   //INCOMPLETO
        protected void BtnRegistrar_Click(object sender, EventArgs e)
        {
            vehiculoNuevo = new Vehiculo();
            Marca marca = new Marca();
            marca.IdMarca = Convert.ToInt32(DrDoListMarca.SelectedValue);
            
            Modelo modelo = new Modelo();
            modelo.IdModelo = Convert.ToInt32(DrDoListModelo.SelectedValue);

            Negocio.Entidades.Version version = new Negocio.Entidades.Version();
            version.Modelo = modelo;
            version.Modelo.Marca = marca;
            vehiculoNuevo.Version = version;

            Color color = new Color();
            color.IdColor = Convert.ToInt32(DrDoListColor.SelectedValue);
            vehiculoNuevo.Color = color; //HASTA ACA ASIGNE AL VEHICULO NUEVO COLOR Y VERSION, CON MODELO Y MARCA


         /*   if (this.TxtBoxRegistrarColor.Text.Trim() != "")
            {
                try
                {
                    logicaColor.RegistrarColor(ColorNuevo);
                    Page.Response.Write("La operación ha sido realizada satisfactoriamente");

                }
                catch (Exception ex)
                {
                    Page.Response.Write("Error inesperado");
                }
            }
            else
            {
                Page.Response.Write("El campo Nombre es obligatorio.");
            } */



        }
Example #7
0
 public void EliminarVehiculo(Vehiculo vehiculoAeliminar)
 {
     try
     {
         datosVehiculo.EliminarVehiculo(vehiculoAeliminar);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #8
0
        // CORROBORADO
        public List<Vehiculo> GetTodosVehiculos()
        {
            List<Vehiculo> listaVehiculos = new List<Vehiculo>();
            
            String query = "SELECT * FROM Vehiculos JOIN Estados ON (Vehiculos.idVehiculo = Estados.idVehiculo) JOIN Versiones ON (Vehiculos.idVersion = Versiones.idVersion)";
            query = query + "JOIN Modelos ON (Versiones.idModelo = Modelos.idModelo) JOIN Marcas ON (Modelos.idMarca = Marcas.idMarca)";
            query = query + " JOIN Colores ON (Vehiculos.idColor = Colores.idColor) WHERE Vehiculos.registroEliminado = @RegistroEliminado";
            SqlCommand command = connection.CreateCommand();
            command.CommandText = query;

            command.Parameters.Add("@RegistroEliminado", SqlDbType.Bit).Value = false;

            try
            {
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    Vehiculo vehiculoActual = new Vehiculo();

                    vehiculoActual = MapearDeDatos(vehiculoActual, reader);
                    
                    vehiculoActual.Estado = datosEstado.GetEstadoMasReciente(vehiculoActual);

                    listaVehiculos.Add(vehiculoActual);
                }
            }
            catch (Exception ex)
            {
                Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar recuperar la lista de vehículos. Por favor, vuelva a intentarlo.", ex);
                throw excepcionManejada;
            }
            finally
            {
                connection.Close();
            }

            return listaVehiculos;
        }
Example #9
0
        private Vehiculo MapearDeDatos(Vehiculo vehiculoActual, SqlDataReader reader)
        {
            Negocio.Entidades.Version versionActual = new Negocio.Entidades.Version();
            Modelo modeloActual = new Modelo();
            Marca marcaActual = new Marca();
            Color colorActual = new Color();

            marcaActual.IdMarca = Convert.ToInt32(reader["idMarca"]);
            marcaActual.Nombre = Convert.ToString(reader["nombreMarca"]);

            modeloActual.IdModelo = Convert.ToInt32(reader["idModelo"]);
            modeloActual.Nombre = Convert.ToString(reader["nombreModelo"]);
            modeloActual.Marca = marcaActual;

            versionActual.IdVersion = Convert.ToInt32(reader["idVersion"]);
            versionActual.Nombre = Convert.ToString(reader["nombreVersion"]);
            versionActual.Modelo = modeloActual;

            colorActual.IdColor = Convert.ToInt32(reader["idColor"]);
            colorActual.Nombre = Convert.ToString(reader["nombreColor"]);

            vehiculoActual.IdVehiculo = Convert.ToInt32(reader["idVehiculo"]);
            vehiculoActual.Version = versionActual;
            vehiculoActual.Color = colorActual;
            vehiculoActual.NroChasis = Convert.ToString(reader["nroChasis"]);
            vehiculoActual.NroMotor = Convert.ToString(reader["nroMotor"]);
            vehiculoActual.Dominio = Convert.ToString(reader["dominio"]);
            vehiculoActual.Observaciones = Convert.ToString(reader["observaciones"]);
            vehiculoActual.AñoPatentamiento = Convert.ToInt32(reader["añoPatentamiento"]);
            vehiculoActual.Kilometraje = Convert.ToInt32(reader["kilometraje"]);
            vehiculoActual.ValorAdquisicion = Convert.ToDouble(reader["valorAdquisicion"]);
            vehiculoActual.ValorVenta = Convert.ToDouble(reader["valorVenta"]);
            vehiculoActual.EsUsado = Convert.ToBoolean(reader["esUsado"]);
            vehiculoActual.FechaRegistro = Convert.ToDateTime(reader["fechaRegistro"]);

            return vehiculoActual;
        }
Example #10
0
        public void RegistrarVehiculo(Vehiculo vehiculoNuevo)
        {
            // Insertar el nuevo vehiculo
            String query = "INSERT INTO Vehiculos (idVersion, idColor, nroMotor, ";
            query = query + "nroChasis, dominio, observaciones, añoPatentamiento, kilometraje, valorAdquisicion, ";
            query = query + "valorVenta, esUsado, fechaRegistro, registroEliminado) VALUES (@IdVersion, @IdColor, @NroMotor, ";
            query = query + "@NroChasis, @Dominio, @Observaciones, @AñoPatentamiento, @Kilometraje, @ValorAdquisicion,";
            query = query + " @ValorVenta, @EsUsado, @FechaRegistro, @RegistroEliminado)";
            SqlCommand command = connection.CreateCommand();
            command.CommandText = query;

            command.Parameters.Add("@IdVersion", SqlDbType.Int).Value = vehiculoNuevo.Version.IdVersion;
            command.Parameters.Add("@IdColor", SqlDbType.Int).Value = vehiculoNuevo.Color.IdColor;
            command.Parameters.Add("@NroMotor", SqlDbType.VarChar).Value = vehiculoNuevo.NroMotor;
            command.Parameters.Add("@NroChasis", SqlDbType.NChar).Value = vehiculoNuevo.NroChasis;
            command.Parameters.Add("@Dominio", SqlDbType.NChar).Value = vehiculoNuevo.Dominio;
            command.Parameters.Add("@Observaciones", SqlDbType.Text).Value = vehiculoNuevo.Observaciones;
            command.Parameters.Add("@AñoPatentamiento", SqlDbType.Int).Value = vehiculoNuevo.AñoPatentamiento;
            command.Parameters.Add("@Kilometraje", SqlDbType.Int).Value = vehiculoNuevo.Kilometraje;
            command.Parameters.Add("@ValorAdquisicion", SqlDbType.Float).Value = vehiculoNuevo.ValorAdquisicion;
            command.Parameters.Add("@ValorVenta", SqlDbType.Float).Value = vehiculoNuevo.ValorVenta;
            command.Parameters.Add("@EsUsado", SqlDbType.Bit).Value = vehiculoNuevo.EsUsado;
            command.Parameters.Add("@FechaRegistro", SqlDbType.DateTime).Value = vehiculoNuevo.FechaRegistro;
            command.Parameters.Add("@RegistroEliminado", SqlDbType.Bit).Value = false;

            try
            {
                connection.Open();

                // Iniciar transaccion
                command.Transaction = connection.BeginTransaction();

                // Ejecutar primera consulta
                command.ExecuteNonQuery();

                // Buscar el idVehiculo asignado al vehiculo recién insertado 
                query = "SELECT @@identity";
                command.CommandText = query;
                int idVehiculo = Convert.ToInt32(command.ExecuteScalar());

                // Asignar el idVehiculo del vehiculo recién insertado al estado a guardar
                vehiculoNuevo.Estado.IdVehiculo = idVehiculo;

                // Insertar el nuevo estado con el idVehiculo buscado
                query = "INSERT INTO Estados (tipoEstado, fecha, idVehiculo) VALUES (@TipoEstado, @Fecha, @IdVehiculo)";
                command.CommandText = query;

                command.Parameters.Add("@TipoEstado", SqlDbType.VarChar).Value = vehiculoNuevo.Estado.TipoEstado.ToString();
                command.Parameters.Add("@Fecha", SqlDbType.DateTime).Value = vehiculoNuevo.Estado.Fecha;
                command.Parameters.Add("@IdVehiculo", SqlDbType.Int).Value = vehiculoNuevo.Estado.IdVehiculo;

                command.ExecuteNonQuery();

                // Commit de transacción
                command.Transaction.Commit();
            }
            catch (Exception ex)
            {
                Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar registrar el vehículo. Por favor, vuelva a intentarlo.", ex);

                // Si ocurrio un error, realizar el rollback
                command.Transaction.Rollback();

                throw excepcionManejada;
            }
            finally
            {
                connection.Close();
            }
        }
Example #11
0
        public void EliminarVehiculo(Vehiculo vehiculoAEliminar)
        {
            SqlCommand command = connection.CreateCommand();
            command.CommandText = "UPDATE vehiculos SET registroEliminado = @RegistroEliminado WHERE idVehiculo = @IdVehiculo";

            command.Parameters.Add("@IdVehiculo", SqlDbType.Int).Value = vehiculoAEliminar.IdVehiculo;
            command.Parameters.Add("@RegistroEliminado", SqlDbType.Bit).Value = true;

            try
            {
                connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Exception excepcionManejada = new Exception("Ha ocurrido un error al intentar eliminar el vehículo. Por favor, vuelva a intentarlo.", ex);
                throw excepcionManejada;
            }
            finally
            {
                connection.Close();
            }
        }
Example #12
0
        // CORROBORADO
        public void ModificarVehiculo(Vehiculo vehiculoModificado)
        {
            SqlCommand command = connection.CreateCommand();
            String query = "UPDATE Vehiculos SET idVersion = @IdVersion, idColor = @IdColor, dominio = @Dominio, observaciones = @Observaciones,";
            query = query + "añoPatentamiento = @AñoPatentamiento, kilometraje = @Kilometraje, valorVenta = @ValorVenta, esUsado = @EsUsado WHERE idVehiculo = @IdVehiculo";
            command.CommandText = query;

            command.Parameters.Add("@IdVersion", SqlDbType.Int).Value = vehiculoModificado.Version.IdVersion;
            command.Parameters.Add("@IdColor", SqlDbType.Int).Value = vehiculoModificado.Color.IdColor;
            command.Parameters.Add("@Dominio", SqlDbType.NChar).Value = vehiculoModificado.Dominio;
            command.Parameters.Add("@Observaciones", SqlDbType.Text).Value = vehiculoModificado.Observaciones;
            command.Parameters.Add("@AñoPatentamiento", SqlDbType.Int).Value = vehiculoModificado.AñoPatentamiento;
            command.Parameters.Add("@Kilometraje", SqlDbType.Int).Value = vehiculoModificado.Kilometraje;
            command.Parameters.Add("@ValorVenta", SqlDbType.Float).Value = vehiculoModificado.ValorVenta;
            command.Parameters.Add("@EsUsado", SqlDbType.Bit).Value = vehiculoModificado.EsUsado;
            command.Parameters.Add("@IdVehiculo", SqlDbType.Int).Value = vehiculoModificado.IdVehiculo;


            try
            {
                connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Exception excepcionManejada = new Exception("Ha ocurrido un error al intentrar modificar los datos del vehículo. Por favor, vuelva a intentarlo.", ex);
                throw excepcionManejada;
            }
            finally
            {
                connection.Close();
            }
        }