示例#1
0
        /// <summary>
        /// Devuelve una entidad: EServicio
        /// </summary>
        /// <param name="p_strCod">Código</param>
        /// <param name="p_bOnlyActive">Indica si solo se analizan los registros activos</param>
        /// <param name="p_smResult">Estado final de la operacion</param>
        /// <returns>Entidad: EServicio</returns>
        public static EServicio Get(string p_strCod,
                                    bool p_bOnlyActive,
                                    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);

                // Pedimos la entidad: EServicio
                return(Srch(l_dbcAccess,
                            p_strCod,
                            p_bOnlyActive,
                            p_smResult));
            }
            catch (Exception l_expData) {
                // Error en la operacion Get
                p_smResult.BllError(l_expData);
                return(null);
            }
            finally {
                // Si pude abrir la conexion -> la cierro
                if (l_dbcAccess != null)
                {
                    l_dbcAccess.Close();
                }
            }
        }
示例#2
0
        /// <summary>
        /// Borra físicamento un registro de la tabla: Servicios
        /// </summary>
        /// <param name="p_strCod">Código</param>
        /// <param name="p_iFxdVersion">Versión del registro a borrar</param>
        /// <param name="p_smResult">Estado final de la operacion</param>
        public static void Remove(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
                Remove_f(l_dbcAccess,
                         p_strCod,
                         p_iFxdVersion,
                         p_smResult);
                if (p_smResult.NOk)
                {
                    return;
                }

                // Borramos el registro solicitado
                Drop(l_dbcAccess,
                     p_strCod,
                     p_iFxdVersion,
                     p_smResult);
            }
            catch (Exception l_expData) {
                // Error en la operacion Remove
                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();
                }
            }
        }
示例#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();
                }
            }
        }