// PRE: p != null. // POS: devuelve un objeto de tipo MD.Presupuesto si p es encontrado en la BD, null en caso contrario. public static MD.Presupuesto Buscar(MD.Presupuesto p) { if (BD.Presupuestos != null) { PresupuestoDato pd = presupuestoAPresupuestoDato(p); PresupuestoDato res = BD.SELECTPresupuesto(pd); if (res != null) { Dictionary <MD.Vehiculo, double> valoraciones = new Dictionary <MD.Vehiculo, double>(); foreach (KeyValuePair <VehiculoDato, double> kvp in res.Valoraciones) { valoraciones.Add(PersistenciaVehiculo.VehiculoDatoAVehiculo(kvp.Key), kvp.Value); } return(new MD.Presupuesto(res.FechaRealizacion, Persistencia.PersistenciaCliente.CambioACliente(res.Cliente), valoraciones)); } else { return(null); } } else { return(null); } }
// PRE: p != null. // POS: devuelve un objeto de tipo MD.Presupuesto, creado a partir de un objeto de tipo PresupuestoDato. private static MD.Presupuesto presupuestoDatoAPresupuesto(PresupuestoDato pDato) { Dictionary <MD.Vehiculo, double> valoraciones = new Dictionary <MD.Vehiculo, double>(); foreach (KeyValuePair <VehiculoDato, double> kvp in pDato.Valoraciones) { valoraciones.Add(PersistenciaVehiculo.VehiculoDatoAVehiculo(kvp.Key), kvp.Value); } MD.Estado estado = MD.Estado.Pendiente; switch (pDato.Estado) { case EstadoDato.Aceptado: estado = MD.Estado.Aceptado; break; case EstadoDato.Desestimado: estado = MD.Estado.Desestimado; break; } MD.Presupuesto presupuesto = new MD.Presupuesto(pDato.FechaRealizacion, Persistencia.PersistenciaCliente.CambioACliente(pDato.Cliente), valoraciones); presupuesto.Vehiculo = Persistencia.PersistenciaVehiculo.VehiculoDatoAVehiculo(pDato.Vehiculo); presupuesto.Estado = estado; return(presupuesto); }
// PRE: p != null. // POS: inserta p en la "tabla" presupuestos. public static void INSERTPresupuesto(PresupuestoDato p) { if (!BD.Presupuestos.Contains(p)) { BD.Presupuestos.Add(p); } }
// PRE: p != null; // POS: actualiza el objeto p en la "tabla" presupuestos. public static void UPDATEPresupuesto(PresupuestoDato p) { BD.DELETEPresupuesto(p); BD.INSERTPresupuesto(p); }
// PRE: p != null. // POS: elimina de la "tabla" presupuestos p, si p se encuentra en ella. public static void DELETEPresupuesto(PresupuestoDato p) { BD.Presupuestos.Remove(p.FechaRealizacion.ToString("yyyyMMdd_hhmmss") + " " + p.Cliente); }
// PRE: p != null. // POS: devuelve un objeto de tipo PresupuestoDato obtenido de la "tabla" presupuestos a partir del parámetro p. public static PresupuestoDato SELECTPresupuesto(PresupuestoDato p) { return BD.Presupuestos[p.FechaRealizacion + " " + p.Cliente]; }