/// <summary> /// Obtiene el conjunto de tarifas de pago aplicables a los criterios señalados /// </summary> /// <param name="id_servicio">Id de Servicio</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="escalarAMovimiento">True para indicar que si no existen tarifas coincidentes a nivel de servicio, se debe realizar una búsqueda a nivel de movimiento</param> /// <returns></returns> public static DataTable ObtieneTarifasPagoServicio(int id_servicio, PerfilPago perfil_pago, int id_entidad_pago, bool escalarAMovimiento) { //Declarando objeto de retorno DataTable mit = null; //Realizando búsqueda por servicio mit = obtieneTarifasPago(NivelPago.Servicio, id_servicio, perfil_pago, id_entidad_pago); //Si no hay tarifas coincidentes y se ha solicitado búsqueda a otro nivel if (!Validacion.ValidaOrigenDatos(mit) && escalarAMovimiento) { //Realizando búsqueda a nivel de movimiento mit = obtieneTarifasPago(NivelPago.Movimiento, id_servicio, perfil_pago, id_entidad_pago); } //Devolviendo resultado return(mit); }
/// <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); }
/// <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)); }
/// <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); } }
/// <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); }