/// <summary> /// Genera los Captions para la grilla default /// </summary> /// <param name="p_dtResult">Tabla donde completar los captions</param> /// <param name="p_smResult">Estado final de la operacion</param> public static void MakeGridCaptions(ref DataTable p_dtResult, StatMsg p_smResult) { try { // Quitamos los captions existentes DBRuts.ClearDTCaptions(ref p_dtResult); // Fijamos los nuevos captions de la grilla p_dtResult.Columns["cll_des_motivo"].Caption = "V1MotivoCN1"; p_dtResult.Columns["cll_ede_rsocial"].Caption = "V1Razón SocialCN1"; p_dtResult.Columns["cll_cod_codmotivo"].Caption = "V1Código de motivoCN1"; p_dtResult.Columns["cll_nom_codusuario"].Caption = "V1Código del usuarioCN1"; p_dtResult.Columns["cll_fyh_frealizada"].Caption = "V1Fecha RealizadaDN1"; p_dtResult.Columns["cll_nro_numcliente"].Caption = "V1Número de clienteNN1"; p_dtResult.Columns["cll_nro_numcontacto"].Caption = "V1Número de contactoNN1"; p_dtResult.Columns["cll_nro_numllamada"].Caption = "V1Número de llamadaNN1"; p_dtResult.Columns["cll_txt_resultado"].Caption = "V1ResultadoCN1"; p_dtResult.Columns["deleted"].Caption = "V1Borrado2N2"; } catch (Exception l_expData) { // Error en el armado de la grilla p_smResult.DalError(l_expData); } }
/// <summary> /// Verifica el número de versión de un registro /// </summary> /// <param name="p_dbcAccess">Conexion a la base de datos</param> /// <param name="p_iNumcliente">Número de cliente</param> /// <param name="p_iNumllamada">Número de llamada</param> /// <param name="p_iFxdVersion">Número de version a verificar</param> /// <param name="p_dsResult">DataSet donde devolver el registro</param> /// <param name="p_strTabla">Nombre de la tabla a llenar</param> /// <param name="p_smResult">Estado final de la operacion</param> public static void ChkVersion(DBConn p_dbcAccess, int p_iNumcliente, int p_iNumllamada, int p_iFxdVersion, ref DataSet p_dsResult, string p_strTabla, StatMsg p_smResult) { try { // Verificamos el número de versión DBRuts.Exec_DS(p_dbcAccess, "TNGS_Carm..CLILLAMADAS_CHKVERSION", new DbParameter[] { p_dbcAccess.MakeParam("@cll_nro_numcliente", p_iNumcliente), p_dbcAccess.MakeParam("@cll_nro_numllamada", p_iNumllamada), p_dbcAccess.MakeParam("@version", p_iFxdVersion) }, ref p_dsResult, p_strTabla); } catch (Exception l_expData) { // Error en el conteo p_smResult.DalError(l_expData); } }
/// <summary> /// Habilita/Deshabilita un registro de la tabla: Servicios /// </summary> /// <param name="p_bEnable">Tipo de operacion</param> /// <param name="p_strCod">Código</param> /// <param name="p_smResult">Estado final de la operacion</param> public static void Enabled(bool p_bEnable, string p_strCod, int p_iFxdVersion, StatMsg p_smResult) { // No hay errores aun DBConn l_dbcAccess = null; // Ajustamos codigos alineados a derecha p_strCod = EServicio.FrmtCod(p_strCod); try { // Obtenemos una conexion l_dbcAccess = DBRuts.GetConection(Connections.Dat); l_dbcAccess.BeginTransaction(); // Procesamos codigo fijo Enabled_f(l_dbcAccess, p_bEnable, p_strCod, ref p_iFxdVersion, p_smResult); if (p_smResult.NOk) { return; } // Verificamos la clave a modificar VKey(l_dbcAccess, p_strCod, p_smResult); if (p_smResult.NOk) { return; } // El registro tiene que existir if (p_smResult.ICodeEs(BllCodes.KeyDsntFound)) { // Error. La clave no existe p_smResult.BllWarning("El ítem (Servicio) que intenta modificar no existe en el sistema.", ""); return; } // Debe coincidir el número de version VVer(l_dbcAccess, p_strCod, p_iFxdVersion, p_smResult); if (p_smResult.NOk) { return; } // Segun el modo if (p_bEnable) { // Hay que habilitar el registro Dal.Servicios.Recall(l_dbcAccess, p_strCod, p_smResult); } else { // Hay que deshabilitar el registro Dal.Servicios.Delete(l_dbcAccess, p_strCod, p_smResult); } } catch (Exception l_expData) { // Error en la operacion Enabled p_smResult.BllError(l_expData); } 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(); } } }
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(); } } }
//--------------------------------------------------------------- // 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(); } } }