Cuando se graba una Reserva o un Contrato, ejecutar una búsqueda en el fichero de estado por día para ese vehículo y entre fechas (si no hay hasta, pues hasta el final de los tiempos)
En esa lista, reemplazar estado por Reservado o alquilado.
Para evitar que si hay una reserva previa y luego eliminamos un contrato la deje como libre, se podrían usar booleanos para libre, reservado, ocupado, reparación.
De esta forma si se pone a cero la ocupación, quedará en reservado sin más complicaciones.
Cuando se entra en una reserva o contrato, se podría ejecutar un proceso anterior a la modificación y quitar el estado, por si cambian fechas. Así al salir y grabar las nuevas quedaría todo bien.
Pensar esto y el orden de importancia de los estados, pero podría ser la solución
Otra ventaja de la búsqueda es que si se abre control hasta una fecha (habría que guardarla en algún sitio para cuando damos el alta de un coche) no tenemos que ocuparnos del rango de nada. En la búsqueda encontramos todas las fichas diarias y los procesos en servidor serían rápidos.
Cuando se graba una Reserva o un Contrato, ejecutar una búsqueda en el fichero de estado por día para ese vehículo y entre fechas (si no hay hasta, pues hasta el final de los tiempos) En esa lista, reemplazar estado por Reservado o alquilado.
Para evitar que si hay una reserva previa y luego eliminamos un contrato la deje como libre, se podrían usar booleanos para libre, reservado, ocupado, reparación. De esta forma si se pone a cero la ocupación, quedará en reservado sin más complicaciones.
Cuando se entra en una reserva o contrato, se podría ejecutar un proceso anterior a la modificación y quitar el estado, por si cambian fechas. Así al salir y grabar las nuevas quedaría todo bien.
Pensar esto y el orden de importancia de los estados, pero podría ser la solución
Otra ventaja de la búsqueda es que si se abre control hasta una fecha (habría que guardarla en algún sitio para cuando damos el alta de un coche) no tenemos que ocuparnos del rango de nada. En la búsqueda encontramos todas las fichas diarias y los procesos en servidor serían rápidos.