#' @title Wrapper für die Berechnung der Ausgaben und Einnahmen der AHV nach GO
#'
#' @description Dieser Wrapper buendelt die Berechnung der Ausgaben und
#' Einnahmen der AHV nach geltender Ordnung
#'
#' @param tl_vorb_berechn List of preprocessed input data frames.
#'
#' @return a `tidylist` containing the following tidy lists:
#' - `tl_ahv_ausgaben`
#' - `tl_ahv_einnahmen`
#'
#' @author [MAS BSV](mailto:sekretariat.mas@bsv.admin.ch)
#'
#' @export

wrap_ahv_hauptberechnung <- function(tl_inp,
                                     tl_vorb_berechn) {
    
    print("Run module: wrap_ahv_hauptberechnung")
    
    
    # Berechnen der Ausgaben der AHV
    tl_ahv_ausgaben <- mod_ahv_ausgaben(
      PARAM_GLOBAL = tl_inp$PARAM_GLOBAL,
      AHV_ABRECHNUNG = tl_vorb_berechn$AHV_ABRECHNUNG,
      RENTENENTWICKLUNG = tl_vorb_berechn$RENTENENTWICKLUNG,
      ECKWERTE_EXTENDED = tl_vorb_berechn$ECKWERTE_EXTENDED,
      BEVOELKERUNG = tl_vorb_berechn$BEVOELKERUNG,
      TAUX_MORTALITE = tl_vorb_berechn$TAUX_MORTALITE,
      ANT_AJO_FLEX = tl_inp$ANT_AJO_FLEX,
      RR_AVS = tl_inp$RR_AVS,
      RENTENZYKLUS = tl_vorb_berechn$RENTENZYKLUS
    )
    
    # Berechnung der Einnahmen der AHV
    tl_ahv_einnahmen <- mod_ahv_einnahmen(
      PARAM_GLOBAL = tl_inp$PARAM_GLOBAL,
      BEVOELKERUNG = tl_vorb_berechn$BEVOELKERUNG,
      BEV_BESTAND = tl_inp$BEV_BESTAND,
      IK = tl_inp$IK,
      ECKWERTE_EXTENDED = tl_vorb_berechn$ECKWERTE_EXTENDED,
      ECKWERTE_SCENARIO = tl_vorb_berechn$ECKWERTE_SCENARIO,
      ESTV = tl_inp$ESTV,
      AHV_ABRECHNUNG = tl_vorb_berechn$AHV_ABRECHNUNG,
      AHV_AUSGABEN = tl_ahv_ausgaben$AHV_AUSGABEN,
      RENTENENTWICKLUNG = tl_vorb_berechn$RENTENENTWICKLUNG,
      BEITRAGSSAETZE = tl_vorb_berechn$BEITRAGSSAETZE,
      ARBEITSLOSENQUOTE = tl_inp$ARBEITSLOSENQUOTE,
      SPIELBANKEN = tl_inp$SPIELBANKEN,
      MWST_SZENARIEN = tl_inp$MWST_SZENARIEN,
      BIP_SZENARIEN_REAL = tl_inp$BIP_SZENARIEN_REAL
    )
    
  # Output
  c(tl_ahv_ausgaben, tl_ahv_einnahmen)
}
