示例#1
0
        /// <summary>
        /// PRE:la clase que se pasa como parametro debe de estar incializada
        /// POST: Dado un VehiculoNuevo (Del que solo se utilizara la clave), obtendremos un vehiculoNuevo con todos sus campos, no se contempla el caso en el que el VehiculoNuevo no esta en la BD
        /// </summary>
        /// <param name="v1"></param>
        /// <returns></returns>
        public static VehiculoNuevo Buscar(VehiculoNuevo v1)
        {
            VNuevoDatos v   = new VNuevoDatos(v1.NumBastidor, v1.Marca, v1.Modelo, v1.Potencia, v1.PvRecomendado);
            VNuevoDatos dev = BD.SelectVNuevo(v);

            return(new VehiculoNuevo(dev.NumBastidor, dev.Potencia, dev.Modelo, dev.Marca, dev.PvRecomendado));
        }
示例#2
0
        /// <summary>
        /// Devuelve la lista de todos los vehiculos nuevos que posee el concesionario
        /// </summary>
        /// <returns></returns>
        public static List <VehiculoNuevo> listaVehiculosNuevos()
        {
            List <VehiculoNuevo> lista = new List <VehiculoNuevo>();
            int tam = BD.VNuevos.Count;

            for (int i = 0; i < tam; i++)
            {
                VNuevoDatos   v  = BD.VNuevos[i];
                VehiculoNuevo v1 = new VehiculoNuevo(v.NumBastidor, v.Potencia, v.Modelo, v.Marca, v.PvRecomendado);
                lista.Add(v1);
            }
            return(lista);
        }
示例#3
0
        /// <summary>
        /// PRE:la clase que se pasa como parametro debe de estar incializada
        /// POST:Dado un VehiculoNuevo (Puede ser que solo contenga la clave), se borrara sin comprobar si existe o no, su aparicion en la bd
        /// </summary>
        /// <param name="v"></param>
        public static void Borrar(VehiculoNuevo v)
        {
            //Como el objeto que recibimos puede tener solo la clave, primero obtenemos los extras de ese vehiculo:
            VehiculoNuevo vehiculo = Persistencia.Buscar(v);

            foreach (Extra e in vehiculo.Extras) //borramos las referencias en la tabla intermedia (VehiculoExtras)
            {
                BD.DeleteVNuevo_Extra(new VNuevoExtrasDatos(new VNuevoExtrasClave(v.NumBastidor, e.Nombre)));
            }

            VNuevoDatos v1 = new VNuevoDatos(v.NumBastidor, v.Marca, v.Modelo, v.Potencia, v.PvRecomendado);

            BD.DeleteVNuevos(v1);
        }
示例#4
0
        //--------------------------------------------------------------------------------------------------------
        //------------------------------------------------VEHICULO NUEVO------------------------------------------
        //--------------------------------------------------------------------------------------------------------

        /// <summary>
        /// PRE:el parametro debe de estar incializado
        /// POST: Dado un VehiculoNuevo, se añade a la BD (Sin comprobar si ya existe), (Los extras que este vehiculo tiene asociados deben de ser añadidos explicitamente antes)
        /// </summary>
        /// <param name="v"></param>
        public static void Añadir(VehiculoNuevo v)
        {
            VNuevoDatos v1 = new VNuevoDatos(v.NumBastidor, v.Marca, v.Modelo, v.Potencia, v.PvRecomendado);

            BD.InsertVNuevos(v1);

            if (v.Extras.Count != 0)
            {
                foreach (Extra e in v.Extras)
                {
                    BD.InsertVNuevo_Extra(new VNuevoExtrasDatos(new VNuevoExtrasClave(v.NumBastidor, e.Nombre)));
                }
            }
        }
示例#5
0
        //------------------------------------------METODOS VARIOS---------------------------------------------

        /// <summary>
        /// PRE:la clase que se pasa como parametro debe de estar incializada
        /// POST: Dado un VehiculoNuevo (Del que solo se utilizara la clave), obtendremos un vehiculoNuevo con todos sus campos, no se contempla el caso en el que el VehiculoNuevo no esta en la BD
        /// </summary>
        /// <param name="v1"></param>
        /// <returns></returns>
        public static Vehiculo Buscar(Vehiculo v1)
        {
            VehiculoDatos v     = new VNuevoDatos(v1.NumBastidor, v1.Marca, v1.Modelo, v1.Potencia, v1.PvRecomendado);
            VehiculoDatos dev   = BD.devTipoVehiculo(v);
            VNuevoDatos   nuevo = dev as VNuevoDatos;

            if (nuevo != null)
            {
                return(new VehiculoNuevo(dev.NumBastidor, dev.Potencia, dev.Modelo, dev.Marca, dev.PvRecomendado));
            }
            else
            {
                VSegundaManoDatos seg = dev as VSegundaManoDatos;
                return(new VehiculoSegundaMano(seg.NumBastidor, seg.Potencia, seg.Modelo, seg.Marca, seg.PvRecomendado, seg.Matricula, seg.FechaMatriculacion));
            }
        }
示例#6
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada
 /// POST: Dice si el vehiculo nuevo existe en la bd y si es asi devuelve true y falso en caso contrario(no es general)
 /// </summary>
 /// <param name="v"></param>
 /// <returns></returns>
 public static bool ExistsVehiculoNuevo(VNuevoDatos v)
 {
     return(BD.VNuevos.Contains(v.Identificador));
 }
示例#7
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada
 /// POST: Dice si el vehiculo existe en la bd y si es asi devuelve true y falso en caso contrario
 /// </summary>
 /// <param name="v"></param>
 /// <returns></returns>
 public static bool ExistsVNuevo(VNuevoDatos v)
 {
     return(BD.ExistsVehiculo(v));
 }
示例#8
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Actualiza el vehiculo nuevo en la bd, el parametro es el que contiene los datos actualizados
 /// </summary>
 /// <param name="v"></param>
 public static void UpdateVNuevo(VNuevoDatos v)
 {
     BD.DeleteVNuevos(v);
     BD.InsertVNuevos(v);
 }
示例#9
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Devuelve el vehiculo nuevo
 /// </summary>
 /// <param name="v"></param>
 /// <returns></returns>
 public static VNuevoDatos SelectVNuevo(VNuevoDatos v)
 {
     return(BD.VNuevos[v.Identificador]);
 }
示例#10
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Elimina el vehiculo nuevo de la bd
 /// </summary>
 /// <param name="v"></param>
 public static void DeleteVNuevos(VNuevoDatos v)
 {
     BD.VNuevos.Remove(v.Identificador);
     BD.DeleteVehiculo(v);
 }
示例#11
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada
 /// POST: Añade el vehiculo nuevo a la bd
 /// </summary>
 /// <param name="v"></param>
 public static void InsertVNuevos(VNuevoDatos v)
 {
     BD.InsertVehiculo(v);
     BD.VNuevos.Add(v);
 }
示例#12
0
        /// <summary>
        /// PRE:la clase que se pasa como parametro debe de estar incializada
        /// POST: Dado un Vehiculo (Del que solo se utilizara la clave), devuelve true si existe un vehiculo  cuya clave coincida con v1, false en caso contrario
        /// </summary>
        /// <param name="v1"></param>
        /// <returns></returns>
        public static bool Existe(Vehiculo v1)
        {
            VNuevoDatos v = new VNuevoDatos(v1.NumBastidor, v1.Marca, v1.Modelo, v1.Potencia, v1.PvRecomendado);

            return(BD.ExistsVNuevo(v));
        }