/// <summary> /// Ejecuta el SP definido por el usuario: getMovilEstadoActual /// </summary> /// <param name= p_strPatente>Patente</param> /// <param name="p_smResult">Estado final de la operacion</param> /// <returns>ListaEntidad con los datos solicitados</returns> public static EMovilEstado fGetMovilEstadoActual(DBConn conexion, string p_strPatente, StatMsg p_smResult) { try { // Pedimos los registros de la tabla ListaEntidades ultimos5Estados = Bll.Moviles.MvesgetLastFiveMvlEstads(conexion, p_strPatente, p_smResult); if (p_smResult.NOk) { return(null); } EMovilEstado estadoActual = Bll.Moviles.MvesSrch(conexion, p_strPatente, Convert.ToDateTime(ultimos5Estados.InternalData[0][Bel.EMovilEstado.FechaCmp]), true, p_smResult); if (p_smResult.NOk) { return(null); } return(estadoActual); } catch (Exception l_expData) { // Error en la operacion p_smResult.BllError(l_expData); return(null); } }
/// <summary> /// Agrega validacion de integridad a una entidad: MovilEstado /// (Código Fijo) /// </summary> /// <param name="p_dbcAccess">Conexion a la base de datos</param> /// <param name="p_entMovilEstado">Entidad con los datos a validar</param> /// <param name="p_smResult">Estado final de la operacion</param> internal static void MvesTInt_f(DBConn p_dbcAccess, EMovilEstado p_entMovilEstado, ref StatMsg p_smResult) { // ********* // Agregar acá las validaciones adicionales // ********* }
/// <summary> /// Agrega o modifica un registro de la tabla: MvlEstados /// (Código Fijo) /// </summary> /// <param name="p_dbcAccess">Conexion a la base de datos</param> /// <param name="p_entMovilEstado">Entidad con los datos a procesar</param> /// <param name="p_smResult">Estado final de la operacion</param> internal static void MvesSave_f(DBConn p_dbcAccess, ref EMovilEstado p_entMovilEstado, ref StatMsg p_smResult) { // ********* // Agregar acá los procesos adicionales // ********* }
private string GetEstado(EMovilEstado eMovilEstado) { EEstado l_eEstado = Bll.Tablas.EdsGet(eMovilEstado.Codestado, true, m_smResult); if (MsgRuts.AnalizeError(App.GetMainWindow(), m_smResult)) { return(null); } string l_strEstado = l_eEstado.Des; return(l_strEstado); }
public static void fOrdenRealizandose(int numeroOrden, StatMsg p_smResult) { DBConn l_dbcAccess = null; try { // Obtenemos una conexion l_dbcAccess = DBRuts.GetConection(Connections.Dat); l_dbcAccess.BeginTransaction(); Bel.EOrdenTrabajo orden = Bll.OrdenesTrabajo.Get(numeroOrden, true, p_smResult); if (p_smResult.NOk) { return; } orden.Estado = Bel.EOrdenTrabajo.Estados.EnProgreso.ToString(); Bll.OrdenesTrabajo.SSav(l_dbcAccess, orden, p_smResult); if (p_smResult.NOk) { return; } EMovilEstado estadoActual = fGetMovilEstadoActual(l_dbcAccess, orden.Patente, p_smResult); // Si el estado actual no es en mantenimiento debemos pasarlo a dicho estado. if (!estadoActual.EstaEnEstadoMantenimiento) { fGrabarEstadoMovil(l_dbcAccess, orden.Patente, EMovilEstado.EstadoEnMantenimiento, 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.EndTransaction(p_smResult); l_dbcAccess.Close(); } } }
public static void fCerrarOrden(EOrdenTrabajo p_eOrdenACerrar, StatMsg p_smResult) { DBConn l_dbcAccess = null; try { // Obtenemos una conexion l_dbcAccess = DBRuts.GetConection(Connections.Dat); l_dbcAccess.BeginTransaction(); int kilometrajeActualMovil = Bll.Moviles.fGetKilometrajeActualWithConn(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } // Conseguimos la fecha de hoy DateTime l_dtToday = BllRuts.GetDBNow(l_dbcAccess, false, p_smResult); if (p_smResult.NOk) { return; } p_eOrdenACerrar.Kmsactuales = kilometrajeActualMovil; p_eOrdenACerrar.Feccierre = l_dtToday; p_eOrdenACerrar.Finalizada(); Bll.OrdenesTrabajo.SSav(l_dbcAccess, p_eOrdenACerrar, p_smResult); if (p_smResult.NOk) { return; } // Pedimos los registros de la tabla EMovilEstado estadoActual = Bll.Moviles.fGetMovilEstadoActual(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } LEOrdenesTrabajo ordenesPendientes = OrdenesTrabajo.getPendByPatente(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } // Si el movil esta en mantenimiento y acabamos de cerrar la ultima orden en progreso, pasamos el movil a disponible. if (estadoActual.EstaEnEstadoMantenimiento && !ordenesPendientes.ToList().Exists(ordenPend => ordenPend.EstaEnProgreso)) { fGrabarEstadoMovil(l_dbcAccess, p_eOrdenACerrar.Patente, EMovilEstado.EstadoDisponible, 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.EndTransaction(p_smResult); l_dbcAccess.Close(); } } }