예제 #1
0
 public string getCantJubilados()
 {
     int cant = 0;
     Funciones func = new Funciones();
     foreach (Nuevo_Pasaje.Pasaje pas in this.lista_pasajes)
     {
         DateTime f_nac = pas.cliente.f_nacimiento.Date;
         int edad = func.getEdad(f_nac);
         string sexo = pas.cliente.sexo;
         if (sexo.Equals("M") && edad >= 65 && !pas.pas_discapacitado)
             cant = cant + 1;
         if (sexo.Equals("F") && edad >= 60 && !pas.pas_discapacitado)
             cant = cant + 1;
     }
     this.cant_jubilados = cant;
     return cant.ToString();
 }
예제 #2
0
        public void setearPreciosALosPasajes()
        {
            if (this.lista_pasajes.Count <= 2 && this.cant_discap > 0)
            {
                foreach (Nuevo_Pasaje.Pasaje pas in this.lista_pasajes)
                {
                    pas.precio = 0;
                }
                return;
            }

            if (this.lista_pasajes.Count > 0 && this.cant_discap == 0)
            {
                Funciones func = new Funciones();
                foreach (Nuevo_Pasaje.Pasaje pas in this.lista_pasajes)
                {
                    DateTime f_nac = pas.cliente.f_nacimiento.Date;
                    int edad = func.getEdad(f_nac);
                    string sexo = pas.cliente.sexo;
                    bool esJubilado = false;
                    if (sexo.Equals("M") && edad >= 65 && !pas.pas_discapacitado)
                        esJubilado = true;
                    if (sexo.Equals("F") && edad >= 60 && !pas.pas_discapacitado)
                        esJubilado = true;

                    pas.precio = (esJubilado) ? (this.precio_pasaje / 2) : this.precio_pasaje;

                }
                return;
            }

            if (this.lista_pasajes.Count > 2 && this.cant_discap > 0)
            {
                Funciones func = new Funciones();
                bool puso_uno_en_cero = false;
                bool ultimoPasaje = false;
                int cant_pasajes = this.lista_pasajes.Count;
                int c = 0;
                foreach (Nuevo_Pasaje.Pasaje pas in this.lista_pasajes)
                {
                    c++;
                    if(c == cant_pasajes){
                        ultimoPasaje = true;
                    }

                    DateTime f_nac = pas.cliente.f_nacimiento.Date;
                    int edad = func.getEdad(f_nac);
                    string sexo = pas.cliente.sexo;
                    bool esJubilado = false;
                    if (sexo.Equals("M") && edad >= 65 && !pas.pas_discapacitado)
                        esJubilado = true;
                    if (sexo.Equals("F") && edad >= 60 && !pas.pas_discapacitado)
                        esJubilado = true;

                    if (pas.pas_discapacitado)
                        pas.precio = 0;
                    else if (!puso_uno_en_cero && !esJubilado) {
                        pas.precio = 0;
                        puso_uno_en_cero = true;
                    }
                    else if (!puso_uno_en_cero && esJubilado && ultimoPasaje) {
                        pas.precio = 0;
                        puso_uno_en_cero = true;
                    }
                    else {
                        pas.precio = (esJubilado) ? (this.precio_pasaje / 2) : this.precio_pasaje;
                    }

                }
                return;
            }
        }