/// <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)); }
/// <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); }
/// <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); }
/// <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]); }
/// <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); }
/// <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); }