Exemplo n.º 1
0
        /// <summary>
        /// Obtiene el conjunto de tarifas de pago aplicables a los criterios señalados
        /// </summary>
        /// <param name="nivel_pago">Nivel de Pago correspondiente (En base al Id de Servicio o Movimiento)</param>
        /// <param name="id_servicio_movimiento">Id de Servicio o movimiento</param>
        /// <param name="perfil_pago">Perfil de Pago (En base al Id de Entidad de Pago)</param>
        /// <param name="id_entidad_pago">Id de Entidad a la que se debe pagar (Unidad, Operador o Transportista)</param>
        /// <returns></returns>
        private static DataTable obtieneTarifasPago(NivelPago nivel_pago, int id_servicio_movimiento, PerfilPago perfil_pago, int id_entidad_pago)
        {
            //Definiendo objeto de resultado
            DataTable mit = null;

            //Determinando datos complementarios en base al nivel de pago
            if (nivel_pago == NivelPago.Movimiento)
            {
                //Instanciando movimiento indicado
                using (Despacho.Movimiento mov = new Despacho.Movimiento(id_servicio_movimiento))
                    //Si el movimiento existe y no es un movimiento vacío
                    if (mov.habilitar && mov.id_servicio > 0)
                    {
                        //Asignando Id de Servicio a registro de búsqueda
                        id_servicio_movimiento = mov.id_servicio;
                    }
            }

            //Creando conjunto de criterios de búsqueda en blanco
            object[] param = { 4, 0, "", 0, (byte)nivel_pago, (byte)perfil_pago, 0, 0, 0, 0, 0, 0, 0, null, null, 0, false, id_servicio_movimiento, id_entidad_pago };

            //Realizando carga de tarifas coincidentes
            using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(_nom_sp, param))
            {
                //Validando origen de datos
                if (TSDK.Datos.Validacion.ValidaOrigenDatos(ds, "Table"))
                {
                    //Obteniendo tabla de interés
                    mit = ds.Tables["Table"];
                }

                //Devolviendo resultado
                return(mit);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Método Público encargado de Editar las Tarifas
 /// </summary>
 /// <param name="descripcion">Descripción de la Tarifa</param>
 /// <param name="id_base_tarifa">Tarifa Base</param>
 /// <param name="nivel_pago">Nivel de Pago</param>
 /// <param name="perfil_pago">Perfil de Pago</param>
 /// <param name="id_compania_emisor">Compania Emisora</param>
 /// <param name="id_cliente_receptor">Cliente Receptor</param>
 /// <param name="id_transportista">Transportista</param>
 /// <param name="valor_unitario">Valor Unitario</param>
 /// <param name="valor_unitario_vacio">Valor Unitario Vacio</param>
 /// <param name="valor_unitario_tronco">Valor Unitario en Tronco</param>
 /// <param name="id_columna_filtro_col">Columna Filtro (Columna)</param>
 /// <param name="id_columna_filtro_row">Columna Filtro (Celda)</param>
 /// <param name="fecha_inicio">Fecha de Inicio</param>
 /// <param name="fecha_fin">Fecha de Fin</param>
 /// <param name="id_usuario">Id de Usuario</param>
 /// <returns></returns>
 public RetornoOperacion EditaTarifa(string descripcion, int id_base_tarifa, NivelPago nivel_pago, PerfilPago perfil_pago, int id_compania_emisor, int id_cliente_receptor,
                                     decimal valor_unitario, decimal valor_unitario_vacio, decimal valor_unitario_tronco, int id_columna_filtro_col, int id_columna_filtro_row, DateTime fecha_inicio,
                                     DateTime fecha_fin, int id_usuario)
 {   //Invocando Método de Actualización
     return(this.actualizaRegistros(descripcion, id_base_tarifa, nivel_pago, perfil_pago, id_compania_emisor, id_cliente_receptor,
                                    valor_unitario, valor_unitario_vacio, valor_unitario_tronco, id_columna_filtro_col, id_columna_filtro_row, fecha_inicio,
                                    fecha_fin, id_usuario, this._habilitar));
 }
Exemplo n.º 3
0
        /// <summary>
        /// Obtiene el conjunto de tarifas de pago aplicables a los criterios señalados
        /// </summary>
        /// <param name="id_movimiento">Id de Movimiento</param>
        /// <param name="perfil_pago">Perfil de Pago (En base al Id de Entidad de Pago)</param>
        /// <param name="id_entidad_pago">Id de Entidad a la que se debe pagar (Unidad, Operador o Transportista)</param>
        /// <param name="escalarAServicio">True para indicar que si no existen tarifas coincidentes a nivel de movimiento, se debe realizar una búsqueda a nivel de servicio</param>
        /// <returns></returns>
        public static DataTable ObtieneTarifasPagoMovimiento(int id_movimiento, PerfilPago perfil_pago, int id_entidad_pago, bool escalarAServicio)
        {
            //Declarando objeto de retorno
            DataTable mit = null;
            //Declarando auxiliares de búsqueda (inicializadas a movimiento vacío)
            NivelPago nivel_pago             = NivelPago.Mov_Vacio;
            int       id_servicio_movimiento = id_movimiento;

            //Instanciando el movimiento solicitado
            using (Despacho.Movimiento mov = new Despacho.Movimiento(id_movimiento))
            {
                //Si el movimiento existe
                if (mov.habilitar)
                {
                    //Determiando si el movimiento está ligado a un servicio
                    if (mov.id_servicio > 0)
                    {
                        //Actualizando parámetros de búsqueda
                        nivel_pago             = NivelPago.Movimiento;
                        id_servicio_movimiento = mov.id_servicio;
                    }
                }
            }

            //Realizando búsqueda por movimiento
            mit = obtieneTarifasPago(nivel_pago, id_servicio_movimiento, perfil_pago, id_entidad_pago);

            //Si no hay tarifas coincidentes y se ha solicitado búsqueda a otro nivel
            if (!Validacion.ValidaOrigenDatos(mit) && nivel_pago != NivelPago.Mov_Vacio && escalarAServicio)
            {
                //Realizando búsqueda a nivel de servicio
                mit = obtieneTarifasPago(NivelPago.Servicio, id_servicio_movimiento, perfil_pago, id_entidad_pago);
            }

            //Devolviendo resultado
            return(mit);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Método Público encargado de Insertar las Tarifas
        /// </summary>
        /// <param name="descripcion">Descripción de la Tarifa</param>
        /// <param name="id_base_tarifa">Tarifa Base</param>
        /// <param name="nivel_pago">Nivel de Pago</param>
        /// <param name="perfil_pago">Perfil de Pago</param>
        /// <param name="id_compania_emisor">Compania Emisora</param>
        /// <param name="id_cliente_receptor">Cliente Receptor</param>
        /// <param name="id_transportista">Transportista</param>
        /// <param name="valor_unitario">Valor Unitario</param>
        /// <param name="valor_unitario_vacio">Valor Unitario Vacio</param>
        /// <param name="valor_unitario_tronco">Valor Unitario en Tronco</param>
        /// <param name="id_columna_filtro_col">Columna Filtro (Columna)</param>
        /// <param name="id_columna_filtro_row">Columna Filtro (Celda)</param>
        /// <param name="fecha_inicio">Fecha de Inicio</param>
        /// <param name="fecha_fin">Fecha de Fin</param>
        /// <param name="id_usuario">Id de Usuario</param>
        /// <returns></returns>
        public static RetornoOperacion InsertaTarifa(string descripcion, int id_base_tarifa, NivelPago nivel_pago, PerfilPago perfil_pago, int id_compania_emisor, int id_cliente_receptor,
                                                     decimal valor_unitario, decimal valor_unitario_vacio, decimal valor_unitario_tronco, int id_columna_filtro_col, int id_columna_filtro_row, DateTime fecha_inicio,
                                                     DateTime fecha_fin, int id_usuario)
        {   //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Armando Arreglo de Parametros
            object[] param = { 1,                                 0, descripcion,           id_base_tarifa,        (byte)nivel_pago,      (byte)perfil_pago, id_compania_emisor, id_cliente_receptor,
                               valor_unitario, valor_unitario_vacio, valor_unitario_tronco, id_columna_filtro_col, id_columna_filtro_row, fecha_inicio,
                               fecha_fin,      id_usuario,           true,                  "",                    "" };
            //Obteniendo Resultado del SP
            result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);
            //Devolviendo Resultado Obtenido
            return(result);
        }