Ejemplo n.º 1
0
        // PRE:
        // POS: realiza la compra del vehículo seleccionado de la sección de valoraciones en caso de que el presupuesto
        // POS: cumpla los requisitos (estar en Estado "Pendiente") y desactiva el botón de compra.
        private void btnComprar_Click(object sender, EventArgs e)
        {
            DialogResult res = new DialogResult();

            res = MessageBox.Show("¿Quieres confirmar la compra?", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            switch (res)
            {
            case DialogResult.Yes:
                MD.Presupuesto presupuesto = (MD.Presupuesto)bindingNavigator.BindingSource.Current;
                MD.Vehiculo    vehiculo    = null;
                foreach (KeyValuePair <MD.Vehiculo, double> kvp in presupuesto.Valoracion)
                {
                    if ((kvp.Key.Marca + " " + kvp.Key.Modelo + " " + kvp.Key.Año + ", " + kvp.Value + "€").Equals((string)lboxValoraciones.SelectedItem))
                    {
                        vehiculo = kvp.Key;
                    }
                }
                if (LNPresupuesto.Presupuesto.ComprarVehiculo(presupuesto, vehiculo))
                {
                    MessageBox.Show("La compra se ha realizado con éxito", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    actualizar();
                }
                else
                {
                    MessageBox.Show("La compra no se puede llevar a cabo, el presupuesto seleccionado no es válido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                break;

            case DialogResult.No:
                MessageBox.Show("La compra se ha cancelado", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;
            }
        }
Ejemplo n.º 2
0
        // PRE:
        // POS: añade al sistema un nuevo vehiculo con los valores seleccionados en los distintos controles
        // POS: del formulario.
        private void btAceptar_Click(object sender, EventArgs e)
        {
            if (tbNumeroBastidor.Text.Equals("") || tbMarca.Text.Equals("") || tbModelo.Text.Equals("") || tbPotencia.Text.Equals("") || tbPrecioRecomendado.Text.Equals("") ||
                (((!(rbNuevo.Checked)) || (!nuevo.isValido())) && ((!(rbSegundaMano.Checked)) || (!segundaMano.isValido()))))
            {
                DialogResult dialogResult = MessageBox.Show("Debes rellenar todos los campos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (!(verificarCampo(tbPotencia) && verificarCampo(tbPrecioRecomendado) && verificarCampo(tbAño)))
            {
                return;
            }

            if (rbNuevo.Checked && nuevo.isValido())
            {
                vehiculo = new MD.Nuevo(tbNumeroBastidor.Text, tbMarca.Text, tbModelo.Text, int.Parse(tbPotencia.Text), int.Parse(tbAño.Text), float.Parse(tbPrecioRecomendado.Text), nuevo.getExtras(), 10);
            }
            else if (rbSegundaMano.Checked && segundaMano.isValido())
            {
                vehiculo = new MD.SegundaMano(tbNumeroBastidor.Text, tbMarca.Text, tbModelo.Text, int.Parse(tbPotencia.Text), int.Parse(tbAño.Text), float.Parse(tbPrecioRecomendado.Text), segundaMano.getMatricula(), segundaMano.getFecha(), 21);
            }

            DialogResult dialogResultInformacion;

            if (LNVehiculo.Vehiculo.AltaVehiculo(vehiculo))
            {
                dialogResultInformacion = MessageBox.Show("Vehiculo añadido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            this.Close();
        }
Ejemplo n.º 3
0
 // PRE:
 // POS: devuelve verdad si presupuesto está en Estado "Pendiente" y se le asigna el vehículo pasado como
 // POS: parámetro como vehículo comprado, además de actualizar el Estado a "Aceptado", falso en caso contrario.
 public static bool ComprarVehiculo(MD.Presupuesto presupuesto, MD.Vehiculo vehiculo)
 {
     if (presupuesto != null && vehiculo != null)
     {
         if (presupuesto.Estado == MD.Estado.Pendiente)
         {
             presupuesto.Vehiculo = vehiculo;
             presupuesto.Estado   = MD.Estado.Aceptado;
             Persistencia.PersistenciaPresupuesto.Modificar(presupuesto);
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 4
0
        // PRE:
        // POS: según la acción asignada al formulario, se abrirá el correspondiente formulario para continuar con la alta,
        // POS: baja o búsqueda, sobre el numero de bastidor del vehiculo introducido.
        private void btAceptar_Click(object sender, EventArgs e)
        {
            MD.Vehiculo  vehiculo     = LNVehiculo.Vehiculo.GetVehiculo(tbNumeroBastidor.Text);
            DialogResult dialogResult = new DialogResult();

            if (vehiculo != null && accion.Equals("Alta"))
            {
                dialogResult = MessageBox.Show("¿Quieres introducir otro número?", "Ya existe un vehiculo con ese número", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
            }
            else if (vehiculo == null && ((accion.Equals("Baja")) || (accion.Equals("Búsqueda"))))
            {
                dialogResult = MessageBox.Show("¿Quieres introducir otro número?", "No existe un vehiculo con ese número", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
            }

            if (dialogResult == DialogResult.No)
            {
                Close();
            }

            if (vehiculo != null && accion.Equals("Baja"))
            {
                DialogResult dialogResultAviso = MessageBox.Show("¿Estás seguro que deseas dar de baja a ese vehiculo?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
                if (dialogResultAviso == DialogResult.Yes)
                {
                    DialogResult dialogResultNotificacion;
                    if (LNVehiculo.Vehiculo.BajaVehiculo(vehiculo))
                    {
                        dialogResultNotificacion = MessageBox.Show("Vehiculo eliminado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    this.Hide();
                }
            }
            else if (vehiculo == null && accion.Equals("Alta"))
            {
                Form vehiculoAltaBaja = new VehiculoAltaBaja(tbNumeroBastidor.Text, accion);
                vehiculoAltaBaja.ShowDialog();
            }
            else if (vehiculo != null && accion.Equals("Búsqueda"))
            {
                Form vehiculoAltaBaja = new VehiculoAltaBaja(tbNumeroBastidor.Text, accion);
                vehiculoAltaBaja.ShowDialog();
            }
        }
Ejemplo n.º 5
0
        // PRE: vehiculo != null.
        // POS: devuelve una lista compuesta por objetos de tipo Presupuesto, cuyo vehículo asociado sea el vehículo pasado como parámetro.
        public static List <MD.Presupuesto> GetPresupuestosPorVehiculo(MD.Vehiculo vehiculo)
        {
            List <MD.Presupuesto> presupuestos = Persistencia.PersistenciaPresupuesto.GetTodos();
            List <MD.Presupuesto> solucion     = new List <MD.Presupuesto>();

            foreach (MD.Presupuesto presupuesto in presupuestos)
            {
                foreach (KeyValuePair <MD.Vehiculo, double> kvp in presupuesto.Valoracion)
                {
                    if (vehiculo.Equals(kvp.Key))
                    {
                        solucion.Add(presupuesto);
                    }
                }
            }

            return(solucion);
        }
Ejemplo n.º 6
0
        //PRE:
        //POST: si el vehiculo no estaba en la base de datos y no es null se elimina y devuelve true
        public static bool BajaVehiculo(MD.Vehiculo vehiculo)
        {
            MD.Vehiculo vehiculoFinal;

            if (vehiculo == null)
            {
                return(false);
            }

            vehiculoFinal = PersistenciaVehiculo.Buscar(vehiculo);
            if (vehiculoFinal == null)
            {
                return(false);
            }

            PersistenciaVehiculo.Eliminar(vehiculo);
            return(true);
        }
Ejemplo n.º 7
0
        //PRE:
        //POST: si el vehiculo no estaba en la base de datos y no es null se añade y devuelve true
        public static bool AltaVehiculo(MD.Vehiculo vehiculo)
        {
            MD.Vehiculo vehiculoFinal;

            if (vehiculo == null)
            {
                return(false);
            }

            vehiculoFinal = PersistenciaVehiculo.Buscar(vehiculo);
            if (vehiculoFinal != null)
            {
                return(false);
            }

            PersistenciaVehiculo.Añadir(vehiculo);
            return(true);
        }
Ejemplo n.º 8
0
 // PRE: la fila debe de estar inicializada y != null y el vehiculo debe de estar inicializado y != null
 // POS: rellena los datos de la fila con los datos del vehiculo
 public void rellenarCelda(DataGridViewRow row, MD.Vehiculo vehiculo)
 {
     row.Cells[0].Value = vehiculo.NumeroDeBastidor;
     row.Cells[1].Value = vehiculo.Marca;
     row.Cells[2].Value = vehiculo.Modelo;
     row.Cells[3].Value = vehiculo.Potencia;
     row.Cells[4].Value = vehiculo.PrecioRecomendado;
     row.Cells[5].Value = vehiculo.Año;
     if (vehiculo.GetType() == typeof(MD.SegundaMano))
     {
         row.Cells[6].Value = ((MD.SegundaMano)vehiculo).Matricula;
         row.Cells[7].Value = ((DateTime)((MD.SegundaMano)vehiculo).FechaMatriculacion).ToString("dd-MM-yyyy");
         row.Cells[8].Value = "null";
     }
     if (vehiculo.GetType() == typeof(MD.Nuevo))
     {
         row.Cells[6].Value = "null";
         row.Cells[7].Value = "null";
         row.Cells[8].Value = ((MD.Nuevo)vehiculo).Extras.Count;
     }
 }
Ejemplo n.º 9
0
        // PRE:
        // POS: crea un formulario de tipo "VehiculoAltaBaja".
        public VehiculoAltaBaja(String numeroBastidor, String accion)
        {
            this.accion = accion;

            this.numeroBastidor = numeroBastidor;
            this.Text           = accion + "de un vehiculo";

            InitializeComponent();
            setControlsEnabled(true);
            if (accion.Equals("Búsqueda"))
            {
                vehiculo = LNVehiculo.Vehiculo.GetVehiculo(numeroBastidor);
                tbNumeroBastidor.Text    = numeroBastidor;
                tbAño.Text               = vehiculo.Año.ToString();
                tbMarca.Text             = vehiculo.Marca;
                tbModelo.Text            = vehiculo.Modelo;
                tbPotencia.Text          = vehiculo.Potencia.ToString();
                tbPrecioRecomendado.Text = vehiculo.PrecioRecomendado.ToString();
                if (vehiculo.GetType() == typeof(MD.SegundaMano))
                {
                    rbSegundaMano.Checked = true;
                    segundaMano           = new SegundaMano(((MD.SegundaMano)vehiculo).Matricula, ((MD.SegundaMano)vehiculo).FechaMatriculacion);
                    segundaMano.Location  = new Point(390, 151);
                    segundaMano.Show();
                    Controls.Add(segundaMano);
                }
                if (vehiculo.GetType() == typeof(MD.Nuevo))
                {
                    rbNuevo.Checked = true;
                    nuevo           = new Nuevo(((MD.Nuevo)vehiculo).Extras);
                    nuevo.Location  = new Point(390, 151);
                    nuevo.Show();
                    Controls.Add(nuevo);
                }
                setControlsEnabled(false);
            }
            tbNumeroBastidor.Text = numeroBastidor;
        }
Ejemplo n.º 10
0
 // PRE: presupuesto != null.
 // POS: estado = "estado" y vehiculo = "vehiculo", obtenidos del objeto de tipo Presupuesto pasado como parámetro.
 public static void GetVehiculoComprado(MD.Presupuesto presupuesto, out MD.Estado estado, out MD.Vehiculo vehiculo)
 {
     estado   = presupuesto.Estado;
     vehiculo = presupuesto.Vehiculo;
 }
Ejemplo n.º 11
0
 //PRE:
 //POST: devuelve una String con los datos del vehiculo
 public static String ShowVehiculo(MD.Vehiculo vehiculo)
 {
     return(vehiculo.ToString());
 }