Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
 /// <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);
     }
 }
Beispiel #3
0
        /// <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();
                }
            }
        }
Beispiel #4
0
        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();
                }
            }
        }
Beispiel #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();
                }
            }
        }