Como decía en la introducción, esta aplicación se basa en ir guardando datos de cuando echamos gasoil al coche y de cuando lo llevamos al taller.

También guardaremos datos de otros gastos que nos da el coche; la ITV, el impuesto de circulación (IVTM) y el seguro. Sin embargo (y esto es importante), para no tener 5 listas distintas, y como estos gastos solo se dan una vez cada año, los voy a meter como un mantenimiento, y se guardarán en la lista de mantenimientos. Para diferenciarlos de las visitas al taller, hay un campo que indica el tipo de gasto que es. Además, según el tipo de gasto que sea, habrá datos que no se tendrán que rellenar. Por ejemplo, cuando se paga el seguro no hace falta poner los km que tiene el coche, o el nombre del taller. Sin embargo, sí hay que poner la compañía del seguro. Para esto, hay campos de la clase mantenimiento que tienen una “doble función” y guardan uno u otro dato según el valor que tenga el “tipo de mantenimiento”.

A la hora de programarlo (y de guardar los datos en la BD) tendremos varias clases que se corresponderán con estos conceptos.

La clase Repostaje guarda todos los datos relativos a cuando echamos gasoil:

  • Coche: qué coche estamos repostando (será uno de la lista de coches, claro)
  • Fecha: la fecha en la que repostamos
  • Importe: cuanto nos cuesta el repostaje (p.ej. 40€)
  • Precio: el precio por litro de combustible (p.ej. 1.149€)
  • Litros: los litros de combustible que echamos
  • Km Totales: los que tiene el coche en ese momento
  • Lugar: en que sitio (ciudad, gasolinera….lo que mejor te sirva para acordarte de donde era)

La aplicación lo que mantiene es una lista de objetos de esta clase. Cuando echas gasolina y lo apuntas, se añade un objeto nuevo a la lista. Además, te permite modificar los datos, por si te has equivocado al meterlos, o borrarlos si has metido alguno por error. Vamos, la típica gestión de una lista.

Habrá también una clase Mantenimiento que guardará los datos relativos a cuando llevas el coche al taller:

  • Coche: qué coche llevamos al taller (será uno de la lista de coches, claro)
  • Fecha: la fecha en la que nos hacen algún mantenimiento
  • Importe: cuanto nos cuesta el arreglo/revisión/seguro/IVTM/ITV…lo que sea
  • Km Totales: los que tiene el coche en ese momento
  • Lugar: en que sitio (ciudad, carretera… lo que mejor te sirva para acordarte de donde era. Ojo, no es el taller)
  • Taller: esto si es el taller al que lo llevas, claro
  • Descripción: aquí lo importante. Este campo es para apuntar qué le hacen al coche (p.ej. Cambio de ruedas, cambio de aceite, arreglar puerta derecha….). Yo suelo poner la descripción que me ponen en el taller, pero abreviada para no estar mucho rato metiendo datos
  • Tipo de gasto: Este es un campo especial que indica qué tipo de gasto es el que estamos apuntando. Normalmente será una visita al taller, pero hay otros gastos que se apuntan también aquí (“ITV” / “Seguro” / “Imp. Circulacion” / “Mantenimiento”)

Y, como ya habrás imaginado, la aplicación mantiene una lista de objetos de esta clase, igual que la anterior.

A la hora de programarlo, como tienen datos en común, lo que tenemos es una clase Actividad con los datos comunes y de esa derivan las dos clases anteriores, Repostaje y Mantenimiento, con el resto de datos particulares de cada una.

Clases_01

Por último, la aplicación mantiene también una lista de coches, para que puedas meter todos tus coches y ver los gastos de cada uno.

Puesto que tanto los repostajes como los mantenimientos, los harás sobre alguno de estos coches, meter algún coche en esta lista es lo primero que habrá que hacer en la aplicación.

Igual que con los repostajes y mantenimientos, habrá una clase Coche, que guardará los siguientes datos:

  • Un Id del coche
  • Nombre del coche (no se podrá repetir)
  • Un icono
  • Un color

Tanto el icono como el color serán identificadores numéricos, que se escogerán de una lista de iconos y de colores predefinida en la aplicación.

En otro post más adelante veremos ejemplos de objetos con datos para ver todas las posibilidades. De momento vale con ir sabiendo esto.

GastaCar. Descripción de los datos