' 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/>.
Imports System.IO
Imports System.Text
Public Class Codes_Acte




    Private Sub CodePrestationsBindingNavigatorSaveItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CodePrestationsBindingNavigatorSaveItem.Click

        Me.Validate()
        Me.CodePrestationsBindingSource.EndEdit()
        Me.Taux_CodeRégimeBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.PharmaDataSet)
    End Sub

    Private Sub Codes_Acte_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        COMPTOIR_MAIN.DP_Affiche_Msg()
    End Sub

    Private Sub Codes_Acte_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeSituation'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeSituationTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeSituation)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeRégime'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeRégimeTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeRégime)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeRégime'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeRégimeTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeRégime)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeRégime'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeRégimeTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeRégime)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeRégime'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeRégimeTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeRégime)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet.compatibilités_codes_prestation_nature_assurance'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Compatibilités_codes_prestation_nature_assuranceTableAdapter.Fill(Me.PharmaDataSet.compatibilités_codes_prestation_nature_assurance)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet.compatibilités__codes_prestation__qualité_bénéficiaire'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Compatibilités__codes_prestation__qualité_bénéficiaireTableAdapter.Fill(Me.PharmaDataSet.compatibilités__codes_prestation__qualité_bénéficiaire)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet._Taux_CodeRégime'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.Taux_CodeRégimeTableAdapter.Fill(Me.PharmaDataSet._Taux_CodeRégime)
        'TODO : cette ligne de code charge les données dans la table 'PharmaDataSet.CodePrestations'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
        Me.CodePrestationsTableAdapter.Fill(Me.PharmaDataSet.CodePrestations)

    End Sub

    Private Sub CodePrestationsDataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles CodePrestationsDataGridView.CellClick
        If Not (CodePrestationsDataGridView.CurrentRow.Cells.Item(0).Value Is Nothing) Then
            CodePrestationsDataGridView.CurrentRow.Cells.Item(4).Value = False
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.InitialDirectory = Application.StartupPath + "\Tables\"
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.ShowDialog()
        If OpenFileDialog1.FileName = "" Then Exit Sub
        Me.Compatibilités__codes_prestation__qualité_bénéficiaireTableAdapter.DeleteAll()
        Using sr As New StreamReader(OpenFileDialog1.FileName, Encoding.Default)
            Dim line As String
            Dim CodePrestation As String = ""
            Dim Compatibilité(8) As Boolean
            Dim AgeMinMois As Integer = 0
            Dim AgeMinAnnée As Integer = 0
            Dim AgeMaxMois As Integer = 0
            Dim AgeMaxAnnée As Integer = 0
            line = sr.ReadLine
            Do
                CodePrestation = Mid(line, 1, InStr(line, ";") - 1)
                line = Mid(line, InStr(line, ";") + 1)
                For i = 0 To 8
                    If Mid(line, 1, 1) = "1" Then
                        Compatibilité(i) = True
                    Else
                        Compatibilité(i) = False
                    End If
                    line = Mid(line, 3)
                Next
                AgeMinMois = Val(Mid(line, 1, InStr(line, ";") - 1))
                line = Mid(line, InStr(line, ";") + 1)
                AgeMinAnnée = Val(Mid(line, 1, InStr(line, ";") - 1))
                line = Mid(line, InStr(line, ";") + 1)
                AgeMaxMois = Val(Mid(line, 1, InStr(line, ";") - 1))
                line = Mid(line, InStr(line, ";") + 1)
                AgeMaxAnnée = Val(line)

                Me.Compatibilités__codes_prestation__qualité_bénéficiaireTableAdapter.InsertQuery(CodePrestation, Compatibilité(0), Compatibilité(1), Compatibilité(2), Compatibilité(3), Compatibilité(4), Compatibilité(5), _
                                                                                                  Compatibilité(6), Compatibilité(7), Compatibilité(8), AgeMinMois, AgeMinAnnée, AgeMaxMois, AgeMaxAnnée)

                line = sr.ReadLine
            Loop Until line Is Nothing
        End Using
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.InitialDirectory = Application.StartupPath + "\Tables\"
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.ShowDialog()
        If OpenFileDialog1.FileName = "" Then Exit Sub
        Me.Compatibilités_codes_prestation_nature_assuranceTableAdapter.DeleteAll()
        Using sr As New StreamReader(OpenFileDialog1.FileName, Encoding.Default)
            Dim line As String
            Dim CodePrestation As String = ""
            Dim Compatibilité(3) As Boolean
            line = sr.ReadLine
            Do
                CodePrestation = Mid(line, 1, InStr(line, ";") - 1)
                line = Mid(line, InStr(line, ";") + 1)
                If Mid(line, 1, 1) = "O" Then
                    Compatibilité(0) = True
                Else
                    Compatibilité(0) = False
                End If
                If Mid(line, 3, 1) = "O" Then
                    Compatibilité(1) = True
                Else
                    Compatibilité(1) = False
                End If
                If Mid(line, 5, 1) = "O" Then
                    Compatibilité(2) = True
                Else
                    Compatibilité(2) = False
                End If
                If Mid(line, 7, 1) = "O" Then
                    Compatibilité(3) = True
                Else
                    Compatibilité(3) = False
                End If
                Me.Compatibilités_codes_prestation_nature_assuranceTableAdapter.Insert(CodePrestation, Compatibilité(0), Compatibilité(1), Compatibilité(2), Compatibilité(3))
                line = sr.ReadLine
            Loop Until line Is Nothing
        End Using
    End Sub

  


End Class