示例#1
0
        /// <summary>
        /// PRE:la clase que se pasa como parametro debe de estar incializada
        /// POST: Dado un Presupuesto (Del que solo se utilizara la clave), obtendremos un Presupuesto con todos sus campos,
        /// no se contempla el caso en el que el Presupuesto no esta en la BD
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public static Presupuesto Buscar(Presupuesto p)
        {
            PresupuestosDato presupuesto = new PresupuestosDato(p.Id, null, p.FechaRealizacion, p.Estado, ""); //Solo nos interesa la clave
            PresupuestosDato dev         = BD.SelectPresupuesto(presupuesto);

            //Cliente asociado:
            Cliente c = Persistencia.Buscar(new Cliente(dev.Cliente));

            //Vehiculo comprado:
            Vehiculo vehiculoComprado;

            if (dev.VehiculoComprado == "")
            {
                vehiculoComprado = null;
            }
            else
            {
                if (Persistencia.Existe(new VehiculoNuevo(dev.VehiculoComprado)))
                {
                    //Se trata de un vehiculo nuevo:
                    vehiculoComprado = Persistencia.Buscar(new VehiculoNuevo(dev.VehiculoComprado));
                }
                else
                {
                    //Se trata de un vehiculo de segunda mano:
                    vehiculoComprado = Persistencia.Buscar(new VehiculoSegundaMano(dev.VehiculoComprado));
                }
            }

            //Lista de vehiculos:
            List <Vehiculo>            l = new List <Vehiculo>();
            Presupuesto_VehiculosTabla t = BD.Presupuesto_vehiculos;
            int tam = t.Count();

            for (int i = 0; i < tam; i++)
            {
                Presupuesto_VehiculosDato pv = t[i]; //vamos cogiendo elemento a elemento y miramos si coincide el id para si eso agregarlo a la lista
                if (pv.Clave.Id.Equals(p.Id))
                {
                    Vehiculo vehiculoActual;
                    if (Persistencia.Existe(new VehiculoNuevo(pv.Clave.Vehiculo)))
                    {
                        //Se trata de un vehiculo nuevo:
                        vehiculoActual = Persistencia.Buscar(new VehiculoNuevo(pv.Clave.Vehiculo));
                    }
                    else
                    {
                        //Se trata de un vehiculo de segunda mano:
                        vehiculoActual = Persistencia.Buscar(new VehiculoSegundaMano(pv.Clave.Vehiculo));
                    }
                    l.Add(vehiculoActual);
                }
            }

            return(new Presupuesto(dev.Id, c, dev.FechaRealizacion, dev.Estado, l, vehiculoComprado));
        }
示例#2
0
        /// <summary>
        /// Devuelve la lista de todos los presupuestos del concesionario
        /// </summary>
        /// <returns></returns>
        public static List <Presupuesto> listaPresupuesto()
        {
            List <Presupuesto> lista = new List <Presupuesto>();

            int tam = BD.Presupuestos.Count;

            for (int i = 0; i < tam; i++)
            {
                List <Vehiculo>  vehiculos = new List <Vehiculo>();
                PresupuestosDato pd        = BD.Presupuestos[i];
                Cliente          c         = new Cliente(pd.Cliente);
                c = Buscar(c);
                VehiculoNuevo vnuevo = new VehiculoNuevo(pd.VehiculoComprado);
                Vehiculo      v      = null;
                if (Existe(vnuevo))
                {
                    if (ExisteVehiculoNuevo(vnuevo))
                    {
                        v = Buscar(vnuevo);
                    }
                    else
                    {
                        v = Buscar(new VehiculoSegundaMano(pd.VehiculoComprado));
                    }
                }
                int t = BD.Presupuesto_vehiculos.Count;
                for (int i2 = 0; i2 < t; i2++)
                {
                    Presupuesto_VehiculosDato pvd = BD.Presupuesto_vehiculos[i2];
                    if (pd.Id.Equals(pvd.Clave.Id))
                    {
                        VehiculoNuevo vn = new VehiculoNuevo(pvd.Clave.Vehiculo);
                        if (ExisteVehiculoNuevo(vn))
                        {
                            vehiculos.Add(Buscar(vn));
                        }
                        else
                        {
                            VehiculoSegundaMano vs = new VehiculoSegundaMano(pvd.Clave.Vehiculo);
                            vehiculos.Add(Buscar(vs));
                        }
                    }
                }
                Presupuesto p = new Presupuesto(pd.Id, c, pd.FechaRealizacion, pd.Estado, vehiculos, v);
                lista.Add(p);
            }
            return(lista);
        }
示例#3
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Dice si existe el Presupuesto_vehiculo en la bd, si es asi devuelve true y falso en caso contrario
 /// </summary>
 /// <param name="p"></param>
 public static void UpdatePresupuesto_Vehiculos(Presupuesto_VehiculosDato p)
 {
     BD.DeletePresupuesto_Vehiculos(p);
     BD.InsertPresupuesto_Vehiculos(p);
 }
示例#4
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Devuelve el Presupuesto_vehiculo
 /// </summary>
 /// <param name="p"></param>
 /// <returns></returns>
 public static Presupuesto_VehiculosDato SelectPresupuesto_Vehiculos(Presupuesto_VehiculosDato p)
 {
     return(BD.Presupuesto_vehiculos[p.Identificador]);
 }
示例#5
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada y debe existir
 /// POST: Elimina el presupuesto_vehiculo de la bd
 /// </summary>
 /// <param name="p"></param>
 public static void DeletePresupuesto_Vehiculos(Presupuesto_VehiculosDato p)
 {
     BD.Presupuesto_vehiculos.Remove(p.Clave);
 }
示例#6
0
 /// <summary>
 /// PRE: La clase que se pasa como parametro debe de estar incializada
 /// POST: Añade el presupuesto_vehiculo a la bd
 /// </summary>
 /// <param name="p"></param>
 public static void InsertPresupuesto_Vehiculos(Presupuesto_VehiculosDato p)
 {
     BD.Presupuesto_vehiculos.Add(p);
 }