' Copyright (C) 2025  P4pillon.org
'
' This program is free software: you can redistribute it and/or modify
' it under the terms of the GNU Affero General Public License as
' published by the Free Software Foundation, either version 3 of the
' License, or (at your option) any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
' GNU Affero General Public License for more details.
'
' You should have received a copy of the GNU Affero General Public License
' along with this program.  If not, see <https://www.gnu.org/licenses/>.
Module COMPTOIR_Declarations

    ''Code régime
    'Public Function TraductionG101C10(ByVal G101C10 As String)
    '    Select Case G101C10
    '        Case "01"
    '            Return "Régime général"
    '        Case "02"
    '            Return "Régime agricole"
    '        Case "03"
    '            Return "Régime des Salariés Indépendants - RSI"
    '        Case "04"
    '            Return "Caisses de Prévoyance et de Retraite de la SNCF - CPR SNCF"
    '        Case "05"
    '            Return "Régime Spécial de la Régie Autonome des Transports Parisiens- RATP"
    '        Case "06"
    '            Return "Etablissement National des Invalides de la Marine - ENIM"
    '        Case "07"
    '            Return "Régime minier de Sécurité Sociale"
    '        Case "08"
    '            Return "Caisse Nationale Militaire de Sécurité Sociale - CNMSS"
    '        Case "09"
    '            Return "Caisse de Prévoyance Maladie de la Banque de France - CPM Banque de France"
    '        Case "10"
    '            Return "Caisse de Retraite et de Prévoyance des Clercs et Employés de Notaire - CRPCEN"
    '        Case "12"
    '            Return "Chambre de Commerce et d'Industrie de Paris - CCIP"
    '        Case "14"
    '            Return "Fonds de sécurité sociale de l'Assemblée Nationale"
    '        Case "15"
    '            Return "Caisses autonomes de Sécurité Sociale du Sénat"
    '        Case "16"
    '            Return "Caisse de Prévoyance du Personnel titulaire du Port Autonome de Bordeaux"
    '        Case "17"
    '            Return "Caisse des français à l'étranger"
    '        Case "80"
    '            Return "Ministère des anciens combattants("
    '        Case "90"
    '            Return "Caisse d'Assurance Vieillesse, Invalidité et Maladie des Cultes CAVIMAC"
    '        Case "91"
    '            Return "Mutuelle Générale de l'Education Nationale - MGEN"
    '        Case "92"
    '            Return "Mutuelle Générale des PTT - MGPTT"
    '        Case "93"
    '            Return "Mutuelle Générale de la police - MGP"
    '        Case "94"
    '            Return "Mutualité de la Fonction Publique - MFP"
    '        Case "95"
    '            Return "Mutuelle Nationale des Hospitaliers - MNH"
    '        Case "96"
    '            Return "Mutuelle Nationale Aviation Marine - MNAM"
    '        Case "99"
    '            Return "Autres mutuelles"
    '        Case Else
    '            Return "Code régime Inconnu"
    '    End Select
    'End Function

    ''Code gestion
    'Public Function TraductionG101C13(ByVal G101C13 As String)
    '    Select Case G101C13
    '        Case "A1"
    '            Return "Salariés assurés obligatoires"
    '        Case "A2"
    '            Return "Exploitants assurés obligatoires"
    '        Case "A3"
    '            Return "Salariés assurés volontaires"
    '        Case "A4"
    '            Return "Exploitants assurés volontaires"
    '        Case "A5"
    '            Return "Assurés personnels"
    '        Case "N1"
    '            Return "Régime obligatoire"
    '        Case "N2"
    '            Return "Gratuit"
    '        Case "N3"
    '            Return "Biologistes"
    '        Case "N5"
    '            Return "Assurés volontaires"
    '        Case "N6"
    '            Return "CEE"
    '        Case "04"
    '            Return "SNCF"
    '        Case "T1"
    '            Return "Agents actifs"
    '        Case "M1"
    '            Return "Agents actifs"
    '        Case "M2"
    '            Return "Agents invalides et pensionnés"
    '        Case "10"
    '            Return "Régime général"
    '        Case "11"
    '            Return "Régime général assurés retraités"
    '        Case "12"
    '            Return "Régime général assurés non cotisants"
    '        Case "13"
    '            Return "Invalides de guerre"
    '        Case "18"
    '            Return "Adultes handicapés"
    '        Case "20"
    '            Return "Régime général partiel"
    '        Case "23"
    '            Return "Fonctionnaires ouvriers de l'état"
    '        Case "24"
    '            Return "EDF-GDF"
    '        Case "25"
    '            Return "Etudiants"
    '        Case "29"
    '            Return "Collectivités locales"
    '        Case "34"
    '            Return "Artistes auteurs"
    '        Case "40"
    '            Return "Assurés volontaires"
    '        Case "70"
    '            Return "Conventions internationales (CEE et conventions bilatérales)"
    '        Case "85"
    '            Return "Assurés personnels"
    '        Case "86"
    '            Return "AVIP (Assuré Volontaire Inv. Parental)"
    '        Case "87"
    '            Return "RMI (Revenu Minimum d'Insertion)"
    '        Case "89"
    '            Return "Assurés bénéficiaires de la Couverture Maladie Universelle"
    '        Case "90"
    '            Return "Praticiens sauf biologistes"
    '        Case Else
    '            Return "Code Gestion Inconnu"
    '    End Select
    'End Function

    ''Qualité
    'Public Function TraductionG104C14(ByVal G104C14 As String)
    '    Select Case G104C14
    '        Case "00" Or "0"
    '            Return "Qualité: Assuré"
    '        Case "01" Or "1"
    '            Return "Qualité: Ascendant, descendant, collatéraux ascendants"
    '        Case "02" Or "2"
    '            Return "Qualité: Conjoint"
    '        Case "03" Or "3"
    '            Return "Qualité: Conjoint divorcé"
    '        Case "04" Or "4"
    '            Return "Qualité: Concubin"
    '        Case "05" Or "5"
    '            Return "Qualité: Conjoint séparé"
    '        Case "06" Or "6"
    '            Return "Qualité: Enfant"
    '        Case "08" Or "8"
    '            Return "Qualité: Conjoint veuf"
    '        Case "09" Or "9"
    '            Return "Qualité: Autre ayant-droit"
    '        Case Else
    '            Return "Code Qualité Inconnu"
    '    End Select
    'End Function

    ''Code service AMO bénéficiaire
    'Public Function TraductionG104C15(ByVal G104C15 As String)
    '    Select Case G104C15
    '        Case "00" Or "0"
    '            Return "Le bénéficiaire n'a pas de service AMO spécifique"
    '        Case "01" Or "1"
    '            Return "Le bénéficiaire a une CMU complémentaire gérée par une AMO"
    '        Case "02" Or "2"
    '            Return "Le bénéficiaire a une CMU complémentaire gérée par une AMC en convention ou en délégation avec une AMO"
    '        Case "03" Or "3"
    '            Return "Le bénéficiaire a une CMU complémentaire gérée par une AMC"
    '        Case "10"
    '            Return "Le bénéficiaire est sortant de CMU complémentaire"
    '        Case "11"
    '            Return "Bénéficiaire du dispositif d’aide à l’acquisition d’une complémentaire"
    '        Case Else
    '            Return "Code service AMO bénéficiaire Inconnu"
    '    End Select
    'End Function
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    '''groupe 1110
    'Public Sub groupe1110(ByVal NumeroSession As UInt16)
    '    SGD_AjouterGroupe(NumeroSession, 1110)
    '    SGD_AjouterChamp(NumeroSession, numFacture)
    '    SGD_AjouterChamp(NumeroSession, "1")
    '    SGD_AjouterChamp(NumeroSession, Format(Now, "yyyyMMdd") + "0000")
    '    ValeurChamp = "12345678"
    '    TailleMax = 8
    '    SGD_LireChamp(1, 2, 1, 1, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    'End Sub

    ''groupe 1120 
    'Public Sub groupe1120(ByVal NumeroSession As UInt16)
    '    SGD_AjouterGroupe(NumeroSession, 1120)
    '    ValeurChamp = "12345678"
    '    TailleMax = 8
    '    SGD_LireChamp(1, 2, 1, 9, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 2, 1, 10, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "123456789012345678901234567"
    '    TailleMax = 27
    '    SGD_LireChamp(1, 1, 1, 6, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "123456789012345678901234567"
    '    TailleMax = 27
    '    SGD_LireChamp(1, 1, 1, 7, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 2, 1, 13, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(1, 2, 1, 14, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(1, 2, 1, 15, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(1, 2, 1, 16, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 2, 1, 17, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 2, 1, 18, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 2, 1, 19, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    SGD_AjouterChamp(NumeroSession, ConditiondExercice)
    '    ValeurChamp = "123456789012345678901234567890"
    '    TailleMax = 30
    '    SGD_LireChamp(1, 1, 1, 3, ValeurChamp, TailleMax)
    '    ValeurChamp = Mid(ValeurChamp, 1, 10)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(1, 1, 1, 4, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    'End Sub

    ''groupe 1130 
    'Public Sub groupe1130(ByVal NumeroSession As UInt16)
    '    SGD_AjouterGroupe(NumeroSession, 1130)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(2, 101, 1, 7, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1234567890123"
    '    TailleMax = 13
    '    SGD_LireChamp(2, 101, 1, 8, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(2, 101, 1, 9, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "123456789012"
    '    TailleMax = 12
    '    SGD_LireChamp(2, 104, 1, 12, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(2, 104, 1, 13, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(2, 104, 1, 14, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1"
    '    TailleMax = 1
    '    SGD_LireChamp(2, 106, 1, 3, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    ValeurChamp = "1234"
    '    TailleMax = 4
    '    SGD_LireChamp(2, 106, 1, 4, ValeurChamp, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, ValeurChamp)
    '    SGD_AjouterChamp(NumeroSession, "0")
    'End Sub

    ''    'groupe 1310 
    'Public Sub groupe1310(ByVal NumeroSession As UInt16)
    '    SGD_AjouterGroupe(NumeroSession, 1310)
    '    Dim CodeRegime As String = "12"
    '    TailleMax = 2
    '    SGD_LireChamp(2, 101, 1, 10, CodeRegime, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, CodeRegime)
    '    Dim CaisseGestionnaire As String = "123"
    '    TailleMax = 3
    '    SGD_LireChamp(2, 101, 1, 11, CaisseGestionnaire, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, CaisseGestionnaire)
    '    Dim CentreGestionnaire As String = "1234"
    '    TailleMax = 4
    '    SGD_LireChamp(2, 101, 1, 12, CentreGestionnaire, TailleMax)
    '    SGD_AjouterChamp(NumeroSession, CentreGestionnaire)
    '    For i = 0 To taborgdest.Length - 1
    '        If (CodeRegime = taborgdest(i).Coderégime) And (CaisseGestionnaire = taborgdest(i).CaisseGestionnaire) And (CentreGestionnaire = taborgdest(i).CentreGestionnaire) Then
    '            SGD_AjouterChamp(NumeroSession, taborgdest(i).Codeorganismedestinataire)
    '            SGD_AjouterChamp(NumeroSession, taborgdest(i).CodeCentreInformatique)
    '        End If
    '    Next

    'End Sub
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Module
