Bug 57757 - Problem method crash on iPad
Summary: Problem method crash on iPad
Status: ASSIGNED
Alias: None
Product: iOS
Classification: Xamarin
Component: Mono runtime / AOT compiler (show other bugs)
Version: XI 10.99 (xcode9)
Hardware: PC Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Zoltan Varga
URL:
Depends on:
Blocks:
 
Reported: 2017-06-26 11:39 UTC by Alain
Modified: 2017-07-03 15:45 UTC (History)
3 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Alain 2017-06-26 11:39:15 UTC
Hi,

When I call this function, my application crash on iPad. On simulator, no problem.

When I comment:

if ((stcFichePatient.stcPatient.strNomPatient != stcPatientModifie.stcPatient.strNomPatient) || (stcFichePatient.stcPatient.strPrenom != stcPatientModifie.stcPatient.strPrenom) || (stcFichePatient.stcPatient.strDateNaissance != stcPatientModifie.stcPatient.strDateNaissance)
                    || (stcFichePatient.stcPatient.strLieuNaissance != stcPatientModifie.stcPatient.strLieuNaissance) || (stcFichePatient.stcPatient.strNISS != stcPatientModifie.stcPatient.strNISS) || (stcFichePatient.stcPatient.strProfession != stcPatientModifie.stcPatient.strProfession)
                    || (stcFichePatient.stcPatient.intEtatCivilID != intEtatCivilID) || (stcFichePatient.stcPatient.intPaysID != intPaysID) || (stcFichePatient.stcPatient.intSexeID != stcPatientModifie.stcPatient.intSexe) || (stcFichePatient.stcPatient.intLangueID != stcPatientModifie.stcPatient.intLangueID)
                    || (stcFichePatient.stcPatient.intStatutID != intStatutID) || (stcFichePatient.stcPatient.strNomMutuelle != stcPatientModifie.stcPatient.strNomMutuelle) || (stcFichePatient.stcPatient.strDateLectureMyCarenet != stcPatientModifie.stcPatient.strDateLectureMyCarenet) || (stcFichePatient.stcPatient.intChronique != stcPatientModifie.stcPatient.intChronique)
                    || (stcFichePatient.stcPatient.intTiersPayant != stcPatientModifie.stcPatient.intTiersPayant) || (stcFichePatient.stcPatient.strCB1CB2 != stcPatientModifie.stcPatient.strCB1CB2) || (stcFichePatient.stcPatient.strNumeroBeneficiaire != stcPatientModifie.stcPatient.strNumeroBeneficiaire)
                    || (stcFichePatient.stcPatient.intContratMaisonMedical != stcPatientModifie.stcPatient.intContratMaisonMedical) || (stcFichePatient.stcPatient.strRue != stcPatientModifie.stcPatient.strRue) || (stcFichePatient.stcPatient.strCodePostal != stcPatientModifie.stcPatient.strCodePostal)
                    || (stcFichePatient.stcPatient.strLocalite != stcPatientModifie.stcPatient.strLocalite) || (stcFichePatient.stcPatient.strTelephone != stcPatientModifie.stcPatient.strTelephone) || (stcFichePatient.stcPatient.strFax != stcPatientModifie.stcPatient.strFax)
                    || (stcFichePatient.stcPatient.strGSM != stcPatientModifie.stcPatient.strGSM) || (stcFichePatient.stcPatient.intCouvertureID != intCouvertureID) || (stcFichePatient.stcPatient.strEmail != stcPatientModifie.stcPatient.strEmail) || (stcFichePatient.stcPatient.strGroupeSanguin != stcPatientModifie.stcPatient.strGroupeSanguin)
                        || (stcFichePatient.stcPatient.intTypeGSM != stcPatientModifie.stcPatient.intTypeGSM) || (stcFichePatient.stcPatient.strRemarque != stcPatientModifie.stcPatient.strRemarque) || (stcFichePatient.stcPatient.strPhoto != stcPatientModifie.stcPatient.strPhoto) || (stcFichePatient.stcPatient.intConsentementPatient != stcPatientModifie.stcPatient.intConsentementPatient) || (stcFichePatient.stcPatient.strNumeroCarteEID != stcPatientModifie.stcPatient.strNumeroCarteEID))
                        return true;
                    else
                        return false;


  It does not crash anymore, it's incomprehensible. I have this problem with the latest version Xamarin.IOS.

When I leave 4 lines of IF, it works. If I put 5 lines, it crashes.

Alain



=== Visual Studio Professional 2017 for Mac ===

Version 7.0.1 (build 24)
Installation UUID: af98516b-7b3c-413e-ba1b-95a1baeaccc6
Runtime:
	Mono 5.2.0.104 (2017-04/4a0006f) (64-bit)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 502000104

=== NuGet ===

Version : 4.0.0.2323

=== .NET Core ===

Runtime: Not installed
SDK: Not installed
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.2.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version : 1.5.4
Emplacement : /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Apple Developer Tools ===

Xcode 8.3.3 (12175.1)
Build 8E3004b

=== Xamarin.iOS ===

Version: 10.11.0.126 (Visual Studio Professional)
Hash: 7571635e
Branch: master
Build date: 2017-05-09 16:04:54-0400

=== Xamarin.Android ===

Version : 7.3.1.2 (Visual Studio Professional)
Android SDK: /Users/macbookrogister/Library/Developer/Xamarin/android-sdk-macosx
	Versions Android prises en charge :
		6.0(Niveau d’API 23)
		7.1(Niveau d’API 25)

Version des outils du SDK : 25.2.5
Version des outils de plateforme du SDK : 25.0.5
Version des outils de génération du SDK : 25.0.1

Java SDK: /usr
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Code EPL d'Android Designer disponible ici :
https://github.com/xamarin/AndroidDesigner.EPL

=== Xamarin Inspector ===

Version: 1.3.0-alpha2
Hash: fa030e0
Branch: master
Build date: Thu, 01 Jun 2017 20:55:26 GMT
Client compatibility: 1

=== Xamarin.Mac ===

Version: 3.5.0.126 (Visual Studio Professional)

=== Build Information ===

Release ID: 700010024
Git revision: 7ab1ca2ced6f584e56b7a0d4d321d00775cd95c9
Build date: 2017-05-19 05:44:51-04
Xamarin addins: 08d17158f3365beee5e60f67999e607cce4b3f93
Build lane: monodevelop-lion-d15-2

=== Operating System ===

Mac OS X 10.12.5
Darwin 16.6.0 Darwin Kernel Version 16.6.0
    Fri Apr 14 16:21:16 PDT 2017
    root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64





 public bool VerifPatientAdministratif(int intPatientID,FicheDetailPatient stcPatientModifie,string strLangueUtilisateur)
        {
            int intEtatCivilID = 0;
            int intPaysID = 0;
            int intStatutID = 0;
            int intCouvertureID = 0;
            FicheDetailPatient stcFichePatient = new FicheDetailPatient();
            
            try
            {
                // Lecture des informations du patient sélectionné

                cd = new SqliteCommand("SELECT utilisateurid,statutid,patientid,sexeid,etatcivilid,santeid,couvertureid,langueid,contactid,paysid,nom,prenom,datenaissance,lieunaissance,age,profession,transfusion,donsorganes,niss,groupesanguin,dmg,datedmg,maladiechronique,remarque,photo,tierspayant,datelecturemycarenet,datedebutvalidite,datefinvalidite,numeroguid,actif,datedernierconsultationchapitreiv,auteurdmg,maisonmedical,numeroinamidmg,consentement,numerocarteeid FROM patient WHERE patientid = " + intPatientID,sqlMedinect);

                dtr = cd.ExecuteReader();

                if (dtr.Read() == true)
                {
                    stcFichePatient.stcPatient.intUtilisateurID = Convert.ToInt32(dtr["utilisateurid"]);
                    stcFichePatient.stcPatient.strNumeroGUID = Convert.ToString(dtr["numeroguid"]);
                    stcFichePatient.stcPatient.intPatientID = Convert.ToInt32(dtr["patientid"]);
                    stcFichePatient.stcPatient.intSexeID = Convert.ToInt32(dtr["sexeid"]);
                    stcFichePatient.stcPatient.intStatutID = Convert.ToInt32(dtr["statutid"]);
                    stcFichePatient.stcPatient.intContactID = Convert.ToInt32(dtr["contactid"]);
                    stcFichePatient.stcPatient.intActif = Convert.ToInt32(dtr["actif"]);
                    stcFichePatient.stcPatient.intContratMaisonMedical = Convert.ToInt32(dtr["maisonmedical"]);

                    try
                    {
                        stcFichePatient.stcPatient.intEtatCivilID = Convert.ToInt32(dtr["etatcivilid"]);
    
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.intEtatCivilID = 0;
                    }
                    
                    
                    
                    intEtatCivilID = 0;
                    
                    if (stcPatientModifie.stcPatient.strEtatCivil.Trim() != "")
                    {
    
                        cd = new SqliteCommand("SELECT etatcivilid FROM etatcivil WHERE nom" + strLangueUtilisateur + " like '" + stcPatientModifie.stcPatient.strEtatCivil.Replace("'", "''") + "'", sqlMedinect);
    
                        dtr2 = cd.ExecuteReader();
    
                        if (dtr2.Read() == true)
                        {
                            intEtatCivilID = Convert.ToInt32(dtr2["etatcivilid"]);
                        }
            
                        dtr2.Dispose();
                        cd.Dispose();
    
                    }

                    intCouvertureID = 0;

                    try
                    {
                        stcFichePatient.stcPatient.intCouvertureID = Convert.ToInt32(dtr["couvertureid"]);
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.intCouvertureID = 0;
                    }

                    try
                    {
                        stcFichePatient.stcPatient.intConsentementPatient = Convert.ToInt32(dtr["consentement"]);
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.intConsentementPatient = 0;
                    }
                    
                    if (stcPatientModifie.stcPatient.strCouverture.Trim() != "")
                    {
    
                        cd = new SqliteCommand("SELECT couvertureid FROM couverture WHERE nom" + strLangueUtilisateur + " like '" + stcPatientModifie.stcPatient.strCouverture.Replace("'", "''") + "'", sqlMedinect);
    
                        dtr2 = cd.ExecuteReader();
    
                        if (dtr2.Read() == true)
                        {
                            intCouvertureID = Convert.ToInt32(dtr2["couvertureid"]);
                        }
    
                        dtr2.Dispose();
                        cd.Dispose();
    
                    }

                    

                    try
                    {
                        stcFichePatient.stcPatient.intPaysID = Convert.ToInt32(dtr["paysid"]);
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.intPaysID = 0;
                    }
                    
                    intPaysID = 0;
                    
                    if (stcPatientModifie.stcPatient.strNationalite != "")
                    {
    
                        cd = new SqliteCommand("SELECT paysid FROM pays WHERE nom" + strLangueUtilisateur + " like '" + stcPatientModifie.stcPatient.strNationalite.Replace("'","''") + "'", sqlMedinect);
    
                        dtr2 = cd.ExecuteReader();
    
                        if (dtr2.Read() == true)
                        {
                            intPaysID = Convert.ToInt32(dtr2["paysid"]);
                        }
    
                        dtr2.Dispose();
                        cd.Dispose();
    
                    }
                    
                    // Lecture de statut si il y en a un 
                    
                    intStatutID = 0;

                    if (stcPatientModifie.stcPatient.strStatut.Trim() != "")
                    {
    
                        cd = new SqliteCommand("SELECT statutid FROM statut WHERE nom" + strLangueUtilisateur + " like '" + stcPatientModifie.stcPatient.strStatut + "'", sqlMedinect);
    
                        dtr2 = cd.ExecuteReader();
    
                        if (dtr2.Read() == true)
                        {
                            intStatutID = Convert.ToInt32(dtr2["statutid"]);
                        }
    
                        dtr2.Dispose();
                        cd.Dispose();
    
                    }

                    stcFichePatient.stcPatient.intLangueID = Convert.ToInt32(dtr["langueid"]);
                    stcFichePatient.stcPatient.strNomPatient = Convert.ToString(dtr["nom"]);
                    stcFichePatient.stcPatient.strPrenom = Convert.ToString(dtr["prenom"]);
                    try
                    {
                        stcFichePatient.stcPatient.strDateNaissance = Convert.ToDateTime(dtr["datenaissance"]).ToShortDateString();
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.strDateNaissance = "";
                    }
                    if (stcFichePatient.stcPatient.strDateNaissance == "1/01/1900") stcFichePatient.stcPatient.strDateNaissance = "";
                    if (stcFichePatient.stcPatient.strDateNaissance == "31/12/2099") stcFichePatient.stcPatient.strDateNaissance = "";
                    stcFichePatient.stcPatient.strLieuNaissance = Convert.ToString(dtr["lieunaissance"]);
                    stcFichePatient.stcPatient.strProfession = Convert.ToString(dtr["profession"]);
                    stcFichePatient.stcPatient.strNISS = Convert.ToString(dtr["niss"]);
                    stcFichePatient.stcPatient.strRemarque = Convert.ToString(dtr["remarque"]);
                    stcFichePatient.stcPatient.strPhoto = Convert.ToString(dtr["photo"]);
                    stcFichePatient.stcPatient.strGroupeSanguin = Convert.ToString(dtr["groupesanguin"]);
                    stcFichePatient.stcPatient.intChronique = Convert.ToInt32(dtr["maladiechronique"]);
                    stcFichePatient.stcPatient.intTiersPayant = Convert.ToInt32(dtr["tierspayant"]);
            

                    try
                    {
                        stcFichePatient.stcPatient.strDateLectureMyCarenet = Convert.ToDateTime(dtr["datelecturemycarenet"]).ToShortDateString();

                    }
                    catch
                    {
                        stcFichePatient.stcPatient.strDateLectureMyCarenet = "01/01/1900";
                    }

                    try
                    {
                        stcFichePatient.stcPatient.strNumeroCarteEID = Convert.ToString(dtr["numerocarteeid"]);
    
                    }
                    catch
                    {
                        stcFichePatient.stcPatient.strNumeroCarteEID = "";
                    }
                    

                    dtr.Dispose();
                    cd.Dispose();
                    
                    // Lecture des informations concernant l'adresse du patient

                    cd = new SqliteCommand("SELECT rue,codepostal,commune" + strLangueUtilisateur + ",telephone1,fax,gsm,email,typegsm FROM patient p,adresse a,commune c WHERE p.patientid = " + intPatientID + " AND p.patientid = a.patientid AND a.communeid = c.communeid",sqlMedinect);
    
                    dtr = cd.ExecuteReader();
    
                    if (dtr.Read() == true)
                    {
                        stcFichePatient.stcPatient.strRue = Convert.ToString(dtr["rue"]);
    
                        if (Convert.ToString(dtr["codepostal"]) != "0")
                        {
                            stcFichePatient.stcPatient.strCodePostal = Convert.ToString(dtr["codepostal"]);
                            stcFichePatient.stcPatient.strLocalite = Convert.ToString(dtr["commune" + strLangueUtilisateur]).Substring(0,1).ToUpper() + Convert.ToString(dtr["commune" + strLangueUtilisateur]).Substring(1,Convert.ToString(dtr["commune" + strLangueUtilisateur]).Length-1).ToLower();
                        }
                        else
                        {
                            stcFichePatient.stcPatient.strCodePostal = "";
                            stcFichePatient.stcPatient.strLocalite = "";
                        }
    
                        stcFichePatient.stcPatient.strTelephone = Convert.ToString(dtr["telephone1"]);
                        stcFichePatient.stcPatient.strFax = Convert.ToString(dtr["fax"]);
                        stcFichePatient.stcPatient.strGSM = Convert.ToString(dtr["gsm"]);
                        stcFichePatient.stcPatient.strEmail = Convert.ToString(dtr["email"]);
                        stcFichePatient.stcPatient.intTypeGSM = Convert.ToInt32(dtr["typegsm"]);
    
                    }
    
                    dtr.Dispose();
                    cd.Dispose();
                    
                    // Lecture des informations concernant la mutuelle du patient

                    cd = new SqliteCommand("SELECT m.numero,m.nom,codecb1cb2,numerobeneficiaire,pm.patientmutid FROM patient p,patientmut pm,mutuelle m WHERE p.patientid = " + intPatientID + " AND p.patientid = pm.patientid AND pm.mutuelleid = m.mutuelleid AND pm.datefin = '2099-12-31'",sqlMedinect);
    
                    dtr = cd.ExecuteReader();
    
                    if (dtr.Read() == true)
                    {
                        
                        stcFichePatient.stcPatient.strNomMutuelle = Convert.ToString(dtr["numero"]) + " - " + Convert.ToString(dtr["nom"]).Substring(0,1).ToUpper() + Convert.ToString(dtr["nom"]).Substring(1,Convert.ToString(dtr["nom"]).Length-1).ToLower() ;
                        stcFichePatient.stcPatient.strCB1CB2 = Convert.ToString(dtr["codecb1cb2"]);
    
                        stcFichePatient.stcPatient.strNumeroBeneficiaire = Convert.ToString(dtr["numerobeneficiaire"]);
    
                    }
                    else
                    {
                        stcFichePatient.stcPatient.strNomMutuelle = "";
                        stcFichePatient.stcPatient.strCB1CB2 = "";
    
                        stcFichePatient.stcPatient.strNumeroBeneficiaire = "";
                    }
    
                    dtr.Dispose();
                    cd.Dispose();
                    
                    
                    if ((stcFichePatient.stcPatient.strNomPatient != stcPatientModifie.stcPatient.strNomPatient) || (stcFichePatient.stcPatient.strPrenom != stcPatientModifie.stcPatient.strPrenom) || (stcFichePatient.stcPatient.strDateNaissance != stcPatientModifie.stcPatient.strDateNaissance)
                    || (stcFichePatient.stcPatient.strLieuNaissance != stcPatientModifie.stcPatient.strLieuNaissance) || (stcFichePatient.stcPatient.strNISS != stcPatientModifie.stcPatient.strNISS) || (stcFichePatient.stcPatient.strProfession != stcPatientModifie.stcPatient.strProfession)
                    || (stcFichePatient.stcPatient.intEtatCivilID != intEtatCivilID) || (stcFichePatient.stcPatient.intPaysID != intPaysID) || (stcFichePatient.stcPatient.intSexeID != stcPatientModifie.stcPatient.intSexe) || (stcFichePatient.stcPatient.intLangueID != stcPatientModifie.stcPatient.intLangueID)
                    || (stcFichePatient.stcPatient.intStatutID != intStatutID) || (stcFichePatient.stcPatient.strNomMutuelle != stcPatientModifie.stcPatient.strNomMutuelle) || (stcFichePatient.stcPatient.strDateLectureMyCarenet != stcPatientModifie.stcPatient.strDateLectureMyCarenet) || (stcFichePatient.stcPatient.intChronique != stcPatientModifie.stcPatient.intChronique)
                    || (stcFichePatient.stcPatient.intTiersPayant != stcPatientModifie.stcPatient.intTiersPayant) || (stcFichePatient.stcPatient.strCB1CB2 != stcPatientModifie.stcPatient.strCB1CB2) || (stcFichePatient.stcPatient.strNumeroBeneficiaire != stcPatientModifie.stcPatient.strNumeroBeneficiaire)
                    || (stcFichePatient.stcPatient.intContratMaisonMedical != stcPatientModifie.stcPatient.intContratMaisonMedical) || (stcFichePatient.stcPatient.strRue != stcPatientModifie.stcPatient.strRue) || (stcFichePatient.stcPatient.strCodePostal != stcPatientModifie.stcPatient.strCodePostal)
                    || (stcFichePatient.stcPatient.strLocalite != stcPatientModifie.stcPatient.strLocalite) || (stcFichePatient.stcPatient.strTelephone != stcPatientModifie.stcPatient.strTelephone) || (stcFichePatient.stcPatient.strFax != stcPatientModifie.stcPatient.strFax)
                    || (stcFichePatient.stcPatient.strGSM != stcPatientModifie.stcPatient.strGSM) || (stcFichePatient.stcPatient.intCouvertureID != intCouvertureID) || (stcFichePatient.stcPatient.strEmail != stcPatientModifie.stcPatient.strEmail) || (stcFichePatient.stcPatient.strGroupeSanguin != stcPatientModifie.stcPatient.strGroupeSanguin)
                        || (stcFichePatient.stcPatient.intTypeGSM != stcPatientModifie.stcPatient.intTypeGSM) || (stcFichePatient.stcPatient.strRemarque != stcPatientModifie.stcPatient.strRemarque) || (stcFichePatient.stcPatient.strPhoto != stcPatientModifie.stcPatient.strPhoto) || (stcFichePatient.stcPatient.intConsentementPatient != stcPatientModifie.stcPatient.intConsentementPatient) || (stcFichePatient.stcPatient.strNumeroCarteEID != stcPatientModifie.stcPatient.strNumeroCarteEID))
                        return true;
                    else
                        return false;
                }
                else
                {
                    dtr.Dispose();
                    cd.Dispose();
                    
                    return false;
                }
            }
            catch (Exception ex)
            {
                if (dtr != null)
                    dtr.Dispose();

                if (dtr2 != null)
                    dtr2.Dispose();
                
                if (cd != null)
                    cd.Dispose();

                try
                {

                    InsertionLogErreur(1,DateTime.Now,"VerifPatientAdministratif","",ex.Message,"Erreur dans la vérification Patient Administratif : " + stcFichePatient.stcPatient.strNomPatient + " " + stcFichePatient.stcPatient.strPrenom);
                }
                catch
                {
                    InsertionLogErreur(1,DateTime.Now,"VerifPatientAdministratif","",ex.Message,"Erreur dans la vérification Patient Administratif");
        
                }
                return false;
            }
                
        }
Comment 1 Alain 2017-06-30 13:21:55 UTC
To solve the problem below, I cut the "if" in another function and not call it in the same function but from another if it crash on the iPad (not on the simulator)

 if ((stcFichePatient.stcPatient.strNomPatient != stcPatientModifie.stcPatient.strNomPatient) || (stcFichePatient.stcPatient.strPrenom != stcPatientModifie.stcPatient.strPrenom) || (stcFichePatient.stcPatient.strDateNaissance != stcPatientModifie.stcPatient.strDateNaissance)
                    || (stcFichePatient.stcPatient.strLieuNaissance != stcPatientModifie.stcPatient.strLieuNaissance) || (stcFichePatient.stcPatient.strNISS != stcPatientModifie.stcPatient.strNISS) || (stcFichePatient.stcPatient.strProfession != stcPatientModifie.stcPatient.strProfession)
                    || (stcFichePatient.stcPatient.intEtatCivilID != intEtatCivilID) || (stcFichePatient.stcPatient.intPaysID != intPaysID) || (stcFichePatient.stcPatient.intSexeID != stcPatientModifie.stcPatient.intSexe) || (stcFichePatient.stcPatient.intLangueID != stcPatientModifie.stcPatient.intLangueID)
                        || (stcFichePatient.stcPatient.intStatutID != intStatutID) || (stcFichePatient.stcPatient.strNomMutuelle != stcPatientModifie.stcPatient.strNomMutuelle) || (stcFichePatient.stcPatient.strDateLectureMyCarenet != stcPatientModifie.stcPatient.strDateLectureMyCarenet) || (stcFichePatient.stcPatient.intChronique != stcPatientModifie.stcPatient.intChronique))
                        return true;
                     else
                        return false;
                }
                else
                {
                    dtr.Dispose();
                    cd.Dispose();
                    
                    return false;
                }

               
            }
            catch (Exception ex)
            {
                if (dtr != null)
                    dtr.Dispose();

                if (dtr2 != null)
                    dtr2.Dispose();
                
                if (cd != null)
                    cd.Dispose();

                try
                {

                    InsertionLogErreur(1,DateTime.Now,"VerifPatientAdministratif","",ex.Message,"Erreur dans la vérification Patient Administratif : " + stcFichePatient.stcPatient.strNomPatient + " " + stcFichePatient.stcPatient.strPrenom);
                }
                catch
                {
                    InsertionLogErreur(1,DateTime.Now,"VerifPatientAdministratif","",ex.Message,"Erreur dans la vérification Patient Administratif");
        
                }
                return false;
            }
                
        }



        //        *****************************************************************************
        //      Fonction VerifPatientAdministratif2
        //      Paramètres : stcDetailPatient : Contient les caractéristiques du PATIENT (intPatientID = 0 : Insertion)
        //                                                                                 (intPatientID <> 0 : Modification)
        //      Return : true ou false
        //      *****************************************************************************


        public bool VerifPatientAdministratif2( FicheDetailPatient stcPatientModifie,FicheDetailPatient stcFichePatient, int intCouvertureID)
        {
            if ((stcFichePatient.stcPatient.intTiersPayant != stcPatientModifie.stcPatient.intTiersPayant) || (stcFichePatient.stcPatient.strCB1CB2 != stcPatientModifie.stcPatient.strCB1CB2) || (stcFichePatient.stcPatient.strNumeroBeneficiaire != stcPatientModifie.stcPatient.strNumeroBeneficiaire)
            || (stcFichePatient.stcPatient.intContratMaisonMedical != stcPatientModifie.stcPatient.intContratMaisonMedical) || (stcFichePatient.stcPatient.strRue != stcPatientModifie.stcPatient.strRue) || (stcFichePatient.stcPatient.strCodePostal != stcPatientModifie.stcPatient.strCodePostal)
            || (stcFichePatient.stcPatient.strLocalite != stcPatientModifie.stcPatient.strLocalite) || (stcFichePatient.stcPatient.strTelephone != stcPatientModifie.stcPatient.strTelephone) || (stcFichePatient.stcPatient.strFax != stcPatientModifie.stcPatient.strFax)
            || (stcFichePatient.stcPatient.strGSM != stcPatientModifie.stcPatient.strGSM) || (stcFichePatient.stcPatient.intCouvertureID != intCouvertureID) || (stcFichePatient.stcPatient.strEmail != stcPatientModifie.stcPatient.strEmail) || (stcFichePatient.stcPatient.strGroupeSanguin != stcPatientModifie.stcPatient.strGroupeSanguin)
            || (stcFichePatient.stcPatient.intTypeGSM != stcPatientModifie.stcPatient.intTypeGSM) || (stcFichePatient.stcPatient.strRemarque != stcPatientModifie.stcPatient.strRemarque) || (stcFichePatient.stcPatient.strPhoto != stcPatientModifie.stcPatient.strPhoto) || (stcFichePatient.stcPatient.intConsentementPatient != stcPatientModifie.stcPatient.intConsentementPatient) || (stcFichePatient.stcPatient.strNumeroCarteEID != stcPatientModifie.stcPatient.strNumeroCarteEID))
                return true;
            else
                return false;

        }

Note You need to log in before you can comment on or make changes to this bug.