示例#1
0
        private static void fGrabarEstadoMovil(DBConn conexion, string patente, string nuevoEstado, StatMsg p_smResult)
        {
            EMovilEstado l_EMEstMovilEstado;

            //creamos la entidad y la llenamos con sus datos y la guardamos
            l_EMEstMovilEstado           = Bel.EMovilEstado.NewEmpty();
            l_EMEstMovilEstado.Codestado = EMovilEstado.EstadoEnMantenimiento;
            l_EMEstMovilEstado.Fecha     = DateTime.Now;
            l_EMEstMovilEstado.Patente   = patente;

            ListaEntidades kmsActuales = Moviles.MvkmgetKmsActualesMvl(patente, p_smResult);

            if (p_smResult.NOk)
            {
                return;
            }

            if (kmsActuales.Count > 0)
            {
                l_EMEstMovilEstado.Km = (int)kmsActuales.InternalData[0][0];
            }
            else
            {
                l_EMEstMovilEstado.Km = 0;
            }

            Bll.Moviles.MvesSSav(conexion, l_EMEstMovilEstado, p_smResult);
            if (p_smResult.NOk)
            {
                return;
            }
        }
示例#2
0
        /// <summary>
        /// Me devuelve un Array con las listas entidades de los ultimos 5 combustibles, estados, kms y eq
        /// </summary>
        /// <param name="p_strPatente">Patente</param>
        /// <param name="p_bOnlyActive"></param>
        /// <param name="p_smResult"></param>
        /// <returns></returns>
        public static List <ListaEntidades> fGetLastFiveTodos(string p_strPatente,
                                                              bool p_bOnlyActive,
                                                              StatMsg p_smResult)
        {
            // No hay errores aun
            List <ListaEntidades> l_lstLEListaListaEntidades = new List <ListaEntidades>();
            DBConn l_dbcAccess = null;

            try
            {
                // Obtenemos una conexion
                l_dbcAccess = DBRuts.GetConection(Connections.Dat);

                // Pedimos los registros de la tabla
                ListaEntidades ultimosCincoCombustibles = Moviles.MvcogetLastFiveMvlCombus(l_dbcAccess, p_strPatente, p_smResult);
                if (p_smResult.NOk)
                {
                    return(null);
                }

                ListaEntidades ultimosCincoKilometrajes = Moviles.MvkmgetLastFiveMvlKm(l_dbcAccess, p_strPatente, p_smResult);
                if (p_smResult.NOk)
                {
                    return(null);
                }

                ListaEntidades ultimosCincoEstados = Moviles.MvesgetLastFiveMvlEstads(l_dbcAccess, p_strPatente, p_smResult);
                if (p_smResult.NOk)
                {
                    return(null);
                }

                ListaEntidades equipamientos = Moviles.MveqFSch(l_dbcAccess, p_strPatente, true, p_smResult);
                if (p_smResult.NOk)
                {
                    return(null);
                }

                l_lstLEListaListaEntidades.Add(ultimosCincoCombustibles);
                l_lstLEListaListaEntidades.Add(ultimosCincoKilometrajes);
                l_lstLEListaListaEntidades.Add(ultimosCincoEstados);
                l_lstLEListaListaEntidades.Add(equipamientos);
            }
            catch (Exception l_expData)
            {
                // Error en la operacion
                p_smResult.BllError(l_expData.ToString());
                return(null);
            }
            finally
            {
                // Si pude abrir la conexion -> la cierro
                if (l_dbcAccess != null)
                {
                    l_dbcAccess.Close();
                }
            }

            return(l_lstLEListaListaEntidades);
        }
示例#3
0
        /// <summary>
        /// Permite Modificar el equipamiento de un movil
        /// </summary>
        /// <param name="p_entMovil">Movil poseedor de los equipamientos</param>
        /// <param name="p_leNuevosEquipamientos">Nuevos equipamientos que se quieren agregar o modificar</param>
        /// <param name="p_smResult">StatMsg</param>
        public static void CambiarEquipamientoYGrabarMovil(EMovil p_entMovil,
                                                           LEMovilesEquip p_leNuevosEquipamientos,
                                                           StatMsg p_smResult)
        {
            DBConn l_dbcAccess = null;

            try
            {
                // Obtenemos una conexion y abrimos una transaccion
                l_dbcAccess = DBRuts.GetConection(Connections.Dat);
                l_dbcAccess.BeginTransaction();

                // Borramos todo el equimamiento que tiene el movil
                MveqEliminarEquipamiento(l_dbcAccess, p_entMovil.Patente, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                // Le asignamos al movil los nuevo equipamientos
                p_entMovil.MovilesEquip = p_leNuevosEquipamientos;

                // Y grabamos los equipamientos
                foreach (Bel.EMovilEquip item in p_leNuevosEquipamientos)
                {
                    Moviles.MveqInsr(l_dbcAccess, item, p_smResult);
                    if (p_smResult.NOk)
                    {
                        return;
                    }
                }

                //grabamos el movil con sus modificaciones
                Moviles.Updt(l_dbcAccess, p_entMovil, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }
            }
            catch (Exception l_expData)
            {
                // Error
                p_smResult.BllError(l_expData.ToString());
            }
            finally
            {
                // Si pude abrir la conexion
                if (l_dbcAccess != null)
                {
                    // Finalizo la transacción y la cierro
                    l_dbcAccess.EndTransaction(p_smResult);
                    l_dbcAccess.Close();
                }
            }
        }
示例#4
0
 private static int fGetKilometrajeActualWithConn(DBConn dbAccess, string p_strPatente, StatMsg p_smResult)
 {
     try
     {
         // Pedimos los registros de la tabla
         ListaEntidades ultimosCincoKilometrajes = Moviles.MvkmgetLastFiveMvlKm(dbAccess, p_strPatente, p_smResult);
         return(Convert.ToInt32(ultimosCincoKilometrajes.InternalData[0][Bel.EMovilKms.KmCmp]));
     }
     catch (Exception l_expData)
     {
         // Error en la operacion
         p_smResult.BllError(l_expData.ToString());
         return(0);
     }
 }
示例#5
0
        //---------------------------------------------------------------
        // Metodos públicos de la clase
        //---------------------------------------------------------------

        #region Metodos publicos de la clase


        public static void fCheckCreacionAlertas(EMovil p_entMovil, StatMsg p_smResult)
        {
            DBConn l_dbcAccess = null;

            try{
                // Obtenemos una conexion
                l_dbcAccess = DBRuts.GetConection(Connections.Dat);

                Bel.LEMovilesAlertas configAlertas = Moviles.MvalFSch(l_dbcAccess, p_entMovil.Patente, true, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                if (configAlertas.Count == 0)
                {
                    return;
                }

                p_entMovil.MovilesKms = Moviles.MvkmFSch(l_dbcAccess, p_entMovil.Patente, true, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                LEAlertas alertasDelMovil = Alertas.AleGetAlertasFromMovil(p_entMovil.Patente, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                LEOTItems reparacionesDelMovil = OrdenesTrabajo.OtitGetRealizadosMvl(p_entMovil.Patente, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                DateTime fechaActual = BllRuts.GetDBNow(l_dbcAccess, p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                // Iteramos por todas las config alertas y si alguna cumple condicion creamos la nueva alerta.
                foreach (EMovilAlerta configAlerta in configAlertas)
                {
                    if (configAlerta.CumpleCondicion(p_entMovil, alertasDelMovil, reparacionesDelMovil, fechaActual))
                    {
                        ETalonario nroAlerta = AppRuts.TaloGet(l_dbcAccess, "ConfAlerta", p_smResult);
                        if (p_smResult.NOk)
                        {
                            return;
                        }

                        Bel.EAlerta nuevaAlerta = configAlerta.crearAlerta(nroAlerta.Valor, fechaActual);
                        Alertas.AleSave(nuevaAlerta, p_smResult);
                        if (p_smResult.NOk)
                        {
                            return;
                        }
                    }
                }
            }
            catch (Exception l_expData) {
                // Error en la operacion
                p_smResult.BllError(l_expData.ToString());
            }
            finally{
                // Si pude abrir la conexion -> la cierro
                if (l_dbcAccess != null)
                {
                    l_dbcAccess.Close();
                }
            }
        }