private static bool isMayor(String nameAtributo, Alojamiento al1, Alojamiento al2) { bool resultado = false; if (al2 == null) { return(false); } switch (nameAtributo) { case "estrella": if (al1.getEstrellas() > al2.getEstrellas()) { resultado = true; } break; case "codigo": if (al1.getCodigo() > al2.getCodigo()) { resultado = true; } break; case "cantidadDePersonas": if (al1.getCantidadDePersonas() > al2.getCantidadDePersonas()) { resultado = true; } break; } return(resultado); }
private bool estaAlojamiento(Alojamiento alojamiento) { foreach (Alojamiento al in this.alojamientos) { if (al != null) { if (al.IgualCodigo(alojamiento)) { return(true); } } } return(false); }
// Este metodo es el que realmente se encarga de orgenar todo private static Alojamiento[] orderByAtributo(String nameAtributo, Alojamiento[] alojamientos) { for (int i = 0; i < alojamientos.Length; i++) { for (int j = 0; j < alojamientos.Length - 1; j++) { if (Alojamiento.isMayor(nameAtributo, alojamientos[j], alojamientos[j + 1])) { Alojamiento aux = alojamientos[j]; alojamientos[j] = alojamientos[j + 1]; alojamientos[j + 1] = aux; } } } return(alojamientos); }
public void AgregarAlojamiento(Alojamiento alojamiento) { String message; // Verifico que la agencia no este llena if (this.estaLlena()) { message = "La agencia esta llena. No se pueden agregar mas alojamientos"; } // Verifico si la agencia no tiene alojamientos. Agrego en caso que no tenga else if (!this.hayAlojamiento()) { // Agrego al array this.alojamientos[this.cantidadDeAlojamientos] = alojamiento; // Incremento en 1 el atributo de cantidad de alojamientos this.cantidadDeAlojamientos++; message = "Se agrego el alojamiento correctamente"; } // Verifico que el alojamiento no este en la agencia else if (this.estaAlojamiento(alojamiento)) { message = "La agencia ya posee ese alojamiento"; } // Agrego el alojamiento else { // Agrego al array this.alojamientos[this.cantidadDeAlojamientos] = alojamiento; // Incremento en 1 el atributo de cantidad de alojamientos this.cantidadDeAlojamientos++; message = "Se agrego el alojamiento correctamente"; } // Informo al usuario si se agrego o si no. Con su respectivo mensaje Console.WriteLine(message + "\n"); }
public static Alojamiento[] OrderByCodigo(Alojamiento[] alojamientos) { return(Alojamiento.orderByAtributo("codigo", alojamientos)); }
public static Alojamiento[] OrderByCantidadDePersonas(Alojamiento[] alojamientos) { return(Alojamiento.orderByAtributo("cantidadDePersonas", alojamientos)); }
public static Alojamiento[] OrderByEstrellas(Alojamiento[] alojamientos) { return(Alojamiento.orderByAtributo("estrella", alojamientos)); }
public bool IgualCodigo(Alojamiento alojamiento) { return(this.codigo == alojamiento.getCodigo()); }
public void OrderByCodigo() { this.alojamientos = Alojamiento.OrderByCodigo(this.alojamientos); }
public void OrderByCantidadDePersonas() { this.alojamientos = Alojamiento.OrderByCantidadDePersonas(this.alojamientos); }
// Metodos de ordenamiento public void OrderByEstrellas() { this.alojamientos = Alojamiento.OrderByEstrellas(this.alojamientos); }