コード例 #1
0
ファイル: Moviles.cs プロジェクト: mattmoll/Merlin
        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);
                }
            }
        }
コード例 #2
0
ファイル: Moviles.cs プロジェクト: mattmoll/Merlin
 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);
     }
 }
コード例 #3
0
ファイル: Alertas.designer.cs プロジェクト: mattmoll/Merlin
        //---------------------------------------------------------------
        // Metodos publicos
        //---------------------------------------------------------------

        /// <summary>
        /// Devuelve la lista entidad tipada como una LE: Alertas
        /// </summary>
        /// <returns>Lista Entidad</returns>
        public LEAlertas GetAsLE()
        {
            // Llenamos la lista
            LEAlertas l_lentRet = LEAlertas.NewEmpty();

            foreach (EAlerta l_entItem in this)
            {
                l_lentRet.AddEntity(l_entItem);
            }

            return(l_lentRet);
        }
コード例 #4
0
ファイル: Moviles.cs プロジェクト: mattmoll/Merlin
        //---------------------------------------------------------------
        // 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));
            }
        }
コード例 #5
0
ファイル: Moviles.cs プロジェクト: mattmoll/Merlin
 private bool CumpleCondicionFecha(DateTime fechaActual, LEAlertas alertasDeEstaConfiguracion)
 {
     // Si se paso la fecha de configuracion y aun no se creo alerta de esta config -> cumple la condicion de creacion de alerta.
     return(this.Fecha <= fechaActual && (alertasDeEstaConfiguracion.Count == 0));
 }