Exemple #1
0
        private bool CumpleCondicionReparacionPeriodica(EMovil p_entMovil, LEAlertas alertasDeEstaConfiguracion, LEOTItems reparacionesDelMovil)
        {
            reparacionesDelMovil.Filter(String.Format("{0} = {1}", EOTItem.CodreparacionCmp, this.Codreparacion));

            // Si ya hay tantas alertas de esta config creadas como reparaciones que indica la misma entonces no hay que crear nada.
            if (alertasDeEstaConfiguracion.Count == reparacionesDelMovil.Count)
            {
                return(false);
            }
            else
            {
                // Ordenamos las reparaciones para que quede la que pertenece a una OT mas nueva arriba de todo.
                reparacionesDelMovil.Sort(Bel.EOTItem.NrootCmp + " desc");

                // Obtenemos el kilometraje al momento de realizada por ultima vez la reparacion en cuestion.
                int kilometrajeAlMomentoDeLaUltimaReparacion = reparacionesDelMovil[0].Oti_kilometraje;

                // Si se hicieron los kilometros indicados por la config desde la ultima reparacion -> cumple condicion.
                if (p_entMovil.KmsActuales >= kilometrajeAlMomentoDeLaUltimaReparacion + this.Kilometros)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Exemple #2
0
 private bool CumpleCondicionKilometros(EMovil p_entMovil, LEAlertas alertasDeEstaConfiguracion)
 {
     // Si se superaron los kilometros indicados y aun no se creo alerta de esta config -> cumple la condicion de creacion de alerta.
     if ((p_entMovil.KmsActuales > this.Kilometros) && (alertasDeEstaConfiguracion.Count == 0))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #3
0
        //---------------------------------------------------------------
        // Metodos públicos de la clase
        //---------------------------------------------------------------



        public bool CumpleCondicion(EMovil p_entMovil, LEAlertas alertasDelMovil, LEOTItems reparacionesDelMovil, DateTime fechaActual)
        {
            // TODO ASAP : Revisar esta logica de alertas del movil, aca las trato como todas las alertas
            // del movil dado pero en los cumple condicion las uso como alertas de esta config en particular. puede haber error de logica.

            // Filtramos las alertas para que sean del movil pero adeams solo de esta configuracion de alerta.
            alertasDelMovil.Filter(String.Format("{0} = {1}", EAlerta.NroconfigCmp, this.Nroconfigalerta));

            // Si es alerta de tipo periodica post reparacion.
            if (this.esDeReparacion)
            {
                return(this.CumpleCondicionReparacionPeriodica(p_entMovil, alertasDelMovil, reparacionesDelMovil));
            }
            else if (this.esDeFecha)
            {
                return(this.CumpleCondicionFecha(fechaActual, alertasDelMovil));
            }
            else
            {
                return(this.CumpleCondicionKilometros(p_entMovil, alertasDelMovil));
            }
        }