public static void SaveCustomerProspectDataToReportOptionValues(Guid idReport, Data.Model.CustomerProspect customer)
        {
            UpsilabEntities db = new UpsilabEntities();

            OptionAttribute optionAttribute = null;
            Data.Model.Option option = null;

            try
            {
                //Insert update data to optionvalue from customer data
                //Liste des options à inserer
                //List of existing option value
                List<ReportOptionValue> lstOptionValues = (from rov in db.ReportOptionValue.Include("Option").Include("ReportOptionAttributeValue")
                                                           where rov.idReport == idReport
                                                           select rov).ToList();
                string action = string.Empty;


                if (customer.IsCorporation.HasValue && !customer.IsCorporation.Value)
                {
                    #region A- PP

                    #region IDENTITE

                    #region Civilité
                    if (!string.IsNullOrEmpty(customer.Title))
                    {
                        option = null;
                        if (customer.Title.CompareTo("Monsieur") == 0)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_1220");
                        }
                        else if (customer.Title.CompareTo("Madame") == 0)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_1221");
                        }
                        else if (customer.Title.CompareTo("Mademoiselle") == 0)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_1222");
                        }

                        // dans certains cas de l'import, on trouve une civilité = "Madame et Monsieur"
                        if (option != null)
                        {
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                    }
                    #endregion

                    //UserName
                    optionAttribute = OptionBL.GetOptionAttributeById(142);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserName, "txt", lstOptionValues, db);

                    //UserFirstName
                    optionAttribute = OptionBL.GetOptionAttributeById(143);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserFirstName, "txt", lstOptionValues, db);

                    //Nom de jeune fille
                    optionAttribute = OptionBL.GetOptionAttributeById(144);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.MaidenName, "txt", lstOptionValues, db);

                    //Date de naissance
                    optionAttribute = OptionBL.GetOptionAttributeById(145);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, (customer.DateOfBirth.HasValue) ? customer.DateOfBirth.Value.ToString("dd/MM/yyyy") : "", "txt", lstOptionValues, db);

                    //Lieu de naissance
                    optionAttribute = OptionBL.GetOptionAttributeById(147);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.PlaceOfBirth, "txt", lstOptionValues, db);

                    //Tel privé
                    optionAttribute = OptionBL.GetOptionAttributeById(148);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.PrivatePhone, "txt", lstOptionValues, db);

                    //Fax
                    optionAttribute = OptionBL.GetOptionAttributeById(149);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Fax, "txt", lstOptionValues, db);

                    //Tel. prof
                    optionAttribute = OptionBL.GetOptionAttributeById(150);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.ProfessionalPhone, "txt", lstOptionValues, db);

                    //Tel Portable
                    optionAttribute = OptionBL.GetOptionAttributeById(151);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserMobilePhone, "txt", lstOptionValues, db);

                    //Email
                    optionAttribute = OptionBL.GetOptionAttributeById(152);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserEmail, "txt", lstOptionValues, db);

                    //Addresse courier
                    optionAttribute = OptionBL.GetOptionAttributeById(153);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Adress, "txt", lstOptionValues, db);

                    //Code postal
                    optionAttribute = OptionBL.GetOptionAttributeById(539);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.ZipCode, "txt", lstOptionValues, db);

                    //Ville 
                    optionAttribute = OptionBL.GetOptionAttributeById(540);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.City, "txt", lstOptionValues, db);

                    //Adresse fiscale 
                    optionAttribute = OptionBL.GetOptionAttributeById(154);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalAddrress, "txt", lstOptionValues, db);

                    //Code postal fiscal
                    optionAttribute = OptionBL.GetOptionAttributeById(541);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalZipCode, "txt", lstOptionValues, db);

                    //Ville fiscale
                    optionAttribute = OptionBL.GetOptionAttributeById(542);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalCity, "txt", lstOptionValues, db);

                    //Etes-vous ?
                    #region Identité "Etes vous majeur" GESTION DES RADIOBUTTON
                    if (customer.LegalCapacity != null)
                    {
                        if (customer.LegalCapacity.CompareTo("Mineur non émancipé") == 0)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_022_Mineur");
                        }
                        else if (customer.LegalCapacity.CompareTo("Majeur capable") == 0)
                        {
                            option = OptionBL.GetOptionById(218);
                        }
                        else if (customer.LegalCapacity.CompareTo("Majeur sous tutelle") == 0)
                        {
                            option = OptionBL.GetOptionById(219);
                        }
                        else if (customer.LegalCapacity.CompareTo("Majeur sous curatelle") == 0)
                        {
                            option = OptionBL.GetOptionById(220);
                        }
                        else if (customer.LegalCapacity.CompareTo("Majeur sous sauvegarde de justice") == 0)
                        {
                            option = OptionBL.GetOptionById(221);
                        }
                        else if (customer.LegalCapacity.CompareTo("Mineur émancipé") == 0)
                        {
                            option = OptionBL.GetOptionById(1149);
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    // Representant légal
                    optionAttribute = OptionBL.GetOptionAttributeById(739);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.LegalRepresentative, "txt", lstOptionValues, db);

                    #endregion

                    //Nationalite
                    optionAttribute = OptionBL.GetOptionAttributeById(155);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Nationality, "txt", lstOptionValues, db);

                    //Autre Nationalite
                    optionAttribute = OptionBL.GetOptionAttributeById(156);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.NationalityIfDouble, "txt", lstOptionValues, db);

                    //Resident
                    #region IsResident
                    if (customer.IsResident != null)
                    {
                        if (customer.IsResident.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_026");
                            optionAttribute = OptionBL.GetOptionAttributeById(157);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "France", "txt", lstOptionValues, db); //France par défaut si résident
                            customer.Country = "France";
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_027");
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    #endregion

                    //Pays de residence
                    optionAttribute = OptionBL.GetOptionAttributeById(157);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Country, "txt", lstOptionValues, db);

                    //Gafi
                    #region GAFI
                    if (customer.Gafi != null)
                    {
                        if (customer.Gafi.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_030");
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_031");
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    #endregion

                    //Offshore
                    #region OFFSHORE
                    if (customer.OffShore != null)
                    {
                        if (customer.OffShore.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_033");
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_034");
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    #endregion

                    //PPE
                    #region PPE
                    if (customer.Ppe != null)
                    {
                        if (customer.Ppe.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_100");
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_101");
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    #endregion

                    //Risques accrus
                    #region Risques accrus
                    if (customer.RisquesAccrus != null)
                    {
                        if (customer.RisquesAccrus.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_105");
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPP_Titulaire_106");
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }

                    #endregion

                    #region ORIGINE DE LA RELATION
                    if (customer.RelationshipBeginingDate.HasValue)
                    {
                        //Option client depuis le
                        option = OptionBL.GetOptionById(233);
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                        //Champ date
                        optionAttribute = OptionBL.GetOptionAttributeById(158);
                        SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.RelationshipBeginingDate.Value.ToString("dd/MM/yyyy"), "txt", lstOptionValues, db);
                    }
                    else if (!string.IsNullOrEmpty(customer.RelationshipType))
                    {
                        /*new*/
                        if (customer.RelationshipType.Equals("contactparrecommandation"))
                        {
                            //Option contact par recommandation
                            option = OptionBL.GetOptionById(234);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else if (customer.RelationshipType.Equals("clientdepuis"))
                        {
                            //Option client depuis
                            option = OptionBL.GetOptionById(233);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            //Option Autre
                            option = OptionBL.GetOptionById(240);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        /*end new*/
                    }
                    #endregion

                    #region VIE PROFESSIONNELLE
                    if (!string.IsNullOrEmpty(customer.Profession))
                    {
                        //En activité ou retraité
                        option = OptionBL.GetOptionById(258);
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                        if (customer.Profession.ToLower().Replace('é', 'e').Contains("retraite"))
                        {
                            //Retraité depuis le
                            option = OptionBL.GetOptionById(263);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db); //??

                            //Mettre le contenu du champ profession dans Ancienne profession
                            optionAttribute = OptionBL.GetOptionAttributeById(167);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);
                        }
                        else if (customer.Profession.ToLower().Replace('é', 'e').Contains("medecin (salarie)"))
                        {
                            //Activité(s) salariée(s)
                            option = OptionBL.GetOptionById(261);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db); //??

                            //Métier
                            optionAttribute = OptionBL.GetOptionAttributeById(160);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);

                            //Secteur d'activité
                            optionAttribute = OptionBL.GetOptionAttributeById(161);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "Santé et action sociale", "txt", lstOptionValues, db); //valeur par defaut dropdownlist                    
                        }
                        else if (customer.Profession.ToLower().Replace('é', 'e').Contains("cadre superieur")
                            || customer.Profession.ToLower().Contains("cadre d'entreprise"))
                        {
                            //Activité(s) salariée(s)
                            option = OptionBL.GetOptionById(261);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db); //??

                            //Métier
                            optionAttribute = OptionBL.GetOptionAttributeById(160);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);
                        }
                        else if (customer.Profession.ToLower().Contains("notaire")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("chef d'entreprise (de 1 à 9 salaries)")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("gerant majoritaire")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("médecin (prof. liberale)")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("avocat, avoue (prof. liberale)")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("expert comptable (prof. liberale)")
                            || customer.Profession.ToLower().Replace('é', 'e').Contains("veterinaire")
                            || customer.Profession.ToLower().Contains("agriculteur sur moyenne exploitation"))
                        {
                            //Activité(s) autre que salariée(s)
                            option = OptionBL.GetOptionById(262);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db); //??

                            //Métier
                            optionAttribute = OptionBL.GetOptionAttributeById(163);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);
                        }
                        else if (customer.Profession.ToLower().Replace('é', 'e').Contains("etudiant") || customer.Profession.ToLower().Replace('é', 'e').Contains("lyceen")) // Etudiant / Lycéen"
                        {
                            option = OptionBL.GetOptionById(1144);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        #region "redmine 4577"
                        else if (customer.Profession.ToLower().Contains("sans profession"))
                        {
                            option = OptionBL.GetOptionById(260);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else if (customer.Profession.ToLower().Replace('é', 'e').Contains("medecin generaliste"))
                        {
                            // Activité(s) autre que salariée
                            option = OptionBL.GetOptionById(262);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                            //Métier
                            optionAttribute = OptionBL.GetOptionAttributeById(163);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);

                            //Secteur d'activité
                            optionAttribute = OptionBL.GetOptionAttributeById(164);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "Santé et action sociale", "txt", lstOptionValues, db); //valeur par defaut dropdownlist
                        }
                        #endregion
                        else
                        {
                            // Activité(s)  salarié(s)
                            option = OptionBL.GetOptionById(261);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                            //Métier
                            optionAttribute = OptionBL.GetOptionAttributeById(160);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Profession, "txt", lstOptionValues, db);
                        }
                    }
                    #endregion

                    #region SITUATION FAMILIALE
                    if (customer.MaritalStatus != null)
                    {
                        if (customer.MaritalStatus.ToLower().Contains("non") || customer.MaritalStatus.ToLower().Contains("mari")) //Marié(e)
                        {
                            option = OptionBL.GetOptionById(278);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("pacs"))
                        {
                            option = OptionBL.GetOptionById(279);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("célibataire"))
                        {
                            option = OptionBL.GetOptionById(280);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("veu")) //Veuf(ve)
                        {
                            option = OptionBL.GetOptionById(281);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("divorc")) //Divorcé(r)
                        {
                            option = OptionBL.GetOptionById(282);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("séparé")) //Séparé(e)
                        {
                            option = OptionBL.GetOptionById(283);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("concubin"))
                        {
                            option = OptionBL.GetOptionById(284);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("cohabitant"))
                        {
                            option = OptionBL.GetOptionById(1252);
                        }
                        else if (customer.MaritalStatus.ToLower().Contains("séparé (e) de corps et de biens"))
                        {
                            option = OptionBL.GetOptionById(1253);
                        }

                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }


                    //Date de l'evenement
                    #region Date de l'évènement
                    if (customer.WeddingDate.HasValue && customer.WeddingDate.Value != null)
                    {
                        optionAttribute = OptionBL.GetOptionAttributeById(178);
                        SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, (customer.WeddingDate.HasValue) ? customer.WeddingDate.Value.ToString("dd/MM/yyyy") : "", "txt", lstOptionValues, db);
                    }
                    #endregion


                    #endregion

                    #region REGIME MATRIMONIAL (Seulement pour PP)
                    if (customer.MarriageSettlement != null)
                    {
                        if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("communaute legale"))
                        {
                            option = OptionBL.GetOptionById(286);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("separation de biens"))
                        {
                            option = OptionBL.GetOptionById(287);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('ê', 'e').Contains("participation aux acquets"))
                        {
                            option = OptionBL.GetOptionById(288);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("communaute universelle") || customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("regime de communaute universelle"))
                        {
                            option = OptionBL.GetOptionById(289);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Replace('ê', 'e').Replace('è', 'e').Contains("communaute reduite aux acquets (depuis 1966)") || customer.MarriageSettlement.ToLower().Replace('é', 'e').Replace('ê', 'e').Contains("communaute reduite aux acquets (regime legal apres 1966)") || customer.MarriageSettlement.ToLower().Replace('é', 'e').Replace('ê', 'e').Contains("Communaute réduite aux acquets"))
                        {
                            option = OptionBL.GetOptionById(1148);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("regime legal avant 1er fevrier 1966") || customer.MarriageSettlement.ToLower().Replace('é', 'e').Contains("communaute meubles et acquets (régime legal avant 1966)"))
                        {
                            option = OptionBL.GetOptionById(1158);
                        }
                        else if (customer.MarriageSettlement.ToLower().Replace('é', 'e').Replace('ê', 'e').Replace('è', 'e').Contains("separation de biens avec societe d’acquets"))
                        {
                            option = OptionBL.GetOptionById(1159);
                        }
                        else
                        {
                            option = OptionBL.GetOptionById(1160);

                            optionAttribute = OptionBL.GetOptionAttributeById(179);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.MarriageSettlement, "txt", lstOptionValues, db);
                        }

                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                    }
                    #endregion

                    #region LIBERALITES
                    optionAttribute = OptionBL.GetOptionAttributeById(721);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Liberality, "txt", lstOptionValues, db);
                    #endregion

                    #region CONJOINT
                    bool activate = true;
                    if (activate)
                    {
                        //Est ce que le customer a un lien ? : copier l'info de son conjoint
                        CustomerProspectRelation customerRelation = customer.CustomerProspectRelation.Where(cr => cr.TypeRelation == CustomerProspect.CustomerProspectBL.TypeRelation.Conjoint.ToString()).FirstOrDefault();

                        if (customerRelation != null && customerRelation.CustomerProspect1 != null)
                        {
                            #region Identity
                            //Civilité
                            #region Title
                            if (customerRelation.CustomerProspect1.Title != null && !string.IsNullOrEmpty(customerRelation.CustomerProspect1.Title))
                            {
                                if (customerRelation.CustomerProspect1.Title.CompareTo("Monsieur") == 0)
                                {
                                    option = OptionBL.GetOptionById(1224);
                                }
                                else if (customerRelation.CustomerProspect1.Title.CompareTo("Madame") == 0)
                                {
                                    option = OptionBL.GetOptionById(1225);
                                }
                                else if (customerRelation.CustomerProspect1.Title.CompareTo("Mademoiselle") == 0)
                                {
                                    option = OptionBL.GetOptionById(1226);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //UserName 
                            optionAttribute = OptionBL.GetOptionAttributeById(180);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserName, "txt", lstOptionValues, db);

                            //Nom de jeune fille
                            optionAttribute = OptionBL.GetOptionAttributeById(181);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.MaidenName, "txt", lstOptionValues, db);

                            //Prenom
                            optionAttribute = OptionBL.GetOptionAttributeById(182);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserFirstName, "txt", lstOptionValues, db);

                            //DateOfBirth
                            optionAttribute = OptionBL.GetOptionAttributeById(183);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, (customerRelation.CustomerProspect1.DateOfBirth.HasValue) ? customerRelation.CustomerProspect1.DateOfBirth.Value.ToString("dd/MM/yyyy") : null, "txt", lstOptionValues, db);

                            //PlaceOfBirth
                            optionAttribute = OptionBL.GetOptionAttributeById(641);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.PlaceOfBirth, "txt", lstOptionValues, db);

                            //Votre conjoint est-il
                            #region Legal capacity
                            if (customerRelation.CustomerProspect1.LegalCapacity != null)
                            {
                                if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Majeur capable") == 0)
                                {
                                    option = OptionBL.GetOptionById(1152);
                                }
                                else if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Majeur sous tutelle") == 0)
                                {
                                    option = OptionBL.GetOptionById(1153);
                                }
                                else if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Majeur sous curatelle") == 0)
                                {
                                    option = OptionBL.GetOptionById(1154);
                                }
                                else if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Majeur sous sauvegarde de justice") == 0)
                                {
                                    option = OptionBL.GetOptionById(1155);
                                }
                                else if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Mineur non émancipé") == 0)
                                {
                                    option = OptionBL.GetOptionById(1156);
                                }

                                else if (customerRelation.CustomerProspect1.LegalCapacity.CompareTo("Mineur émancipé") == 0)
                                {
                                    option = OptionBL.GetOptionById(1157);
                                }
                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //Private phone
                            optionAttribute = OptionBL.GetOptionAttributeById(184);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.PrivatePhone, "txt", lstOptionValues, db);

                            //Mobile phone
                            optionAttribute = OptionBL.GetOptionAttributeById(185);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserMobilePhone, "txt", lstOptionValues, db);

                            //Email
                            optionAttribute = OptionBL.GetOptionAttributeById(186);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserEmail, "txt", lstOptionValues, db);

                            //Address
                            optionAttribute = OptionBL.GetOptionAttributeById(187);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Adress, "txt", lstOptionValues, db);

                            //Profession
                            optionAttribute = OptionBL.GetOptionAttributeById(188);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Profession, "txt", lstOptionValues, db);

                            //Statut social
                            optionAttribute = OptionBL.GetOptionAttributeById(189);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, string.Empty, "txt", lstOptionValues, db); //TODO : field ?

                            //Nationality
                            optionAttribute = OptionBL.GetOptionAttributeById(190);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Nationality, "txt", lstOptionValues, db);

                            //Nationality if double
                            optionAttribute = OptionBL.GetOptionAttributeById(642);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.NationalityIfDouble, "txt", lstOptionValues, db);

                            bool bProdServer = (Upsilab.Business.Utility.ConfigurationManager.ServerType == Upsilab.Business.Utility.ConfigurationManager.EnumServerType.PROD.ToString()) ? true : false;

                            //Resident
                            #region IsResident
                            if (customerRelation.CustomerProspect1.IsResident != null)
                            {
                                if (customerRelation.CustomerProspect1.IsResident.Value)
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1112);
                                    else
                                        option = OptionBL.GetOptionById(1111);

                                    optionAttribute = OptionBL.GetOptionAttributeById(640);
                                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "France", "txt", lstOptionValues, db); //France par défaut si résident
                                    customerRelation.CustomerProspect1.Country = "France";
                                }
                                else
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1113);
                                    else
                                        option = OptionBL.GetOptionById(1112);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                                //Pays de residence
                                optionAttribute = OptionBL.GetOptionAttributeById(640);
                                SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Country, "txt", lstOptionValues, db); //France par défaut si résident
                            }
                            #endregion


                            //Gafi
                            #region GAFI
                            if (customerRelation.CustomerProspect1.Gafi != null)
                            {
                                if (customerRelation.CustomerProspect1.Gafi.Value)
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1116);
                                    else
                                        option = OptionBL.GetOptionById(1115);
                                }
                                else
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1117);
                                    else
                                        option = OptionBL.GetOptionById(1116);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //OFFSHORE
                            #region OFFSHORE
                            if (customerRelation.CustomerProspect1.OffShore != null)
                            {
                                if (customerRelation.CustomerProspect1.OffShore.Value)
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1119);
                                    else
                                        option = OptionBL.GetOptionById(1118);
                                }
                                else
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1120);
                                    else
                                        option = OptionBL.GetOptionById(1119);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //PPE
                            #region PPe

                            if (customerRelation.CustomerProspect1.Ppe != null)
                            {
                                if (customerRelation.CustomerProspect1.Ppe.Value)
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1123);
                                    else
                                        option = OptionBL.GetOptionById(1122);
                                }
                                else
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1124);
                                    else
                                        option = OptionBL.GetOptionById(1123);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //Risques accrus
                            #region Risques accrus

                            if (customerRelation.CustomerProspect1.RisquesAccrus != null)
                            {
                                if (customerRelation.CustomerProspect1.RisquesAccrus.Value)
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1126);
                                    else
                                        option = OptionBL.GetOptionById(1125);
                                }
                                else
                                {
                                    if (bProdServer)
                                        option = OptionBL.GetOptionById(1127);
                                    else
                                        option = OptionBL.GetOptionById(1126);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            #region Numéro de registre national (BE uniquement)

                            if (!string.IsNullOrEmpty(Upsilab.Business.Utility.SessionManager.GetHostCodeSession()) && Upsilab.Business.Utility.SessionManager.GetHostCodeSession() == Upsilab.Business.Utility.PageLanguageHelper.HostCode.BE.ToString())
                            {
                                optionAttribute = OptionBL.GetOptionAttributeById(773);
                                SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.NumRegNational, "txt", lstOptionValues, db);
                            }

                            #endregion
                            #endregion
                        }

                    }
                    #endregion

                    #endregion

                    #endregion
                }

                else if (customer.IsCorporation.HasValue && customer.IsCorporation.Value)
                {
                    #region B- PM
                    #region IDENTITE PERSONNE MORALE
                    //Raison sociale
                    optionAttribute = OptionBL.GetOptionAttributeById(381);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.CompanyName, "txt", lstOptionValues, db);

                    //Sigle
                    optionAttribute = OptionBL.GetOptionAttributeById(382);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Sigle, "txt", lstOptionValues, db);

                    //RCS
                    optionAttribute = OptionBL.GetOptionAttributeById(383);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.NumRCS, "txt", lstOptionValues, db);

                    //Ville d'enregistrement
                    optionAttribute = OptionBL.GetOptionAttributeById(384);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.CityRegistration, "txt", lstOptionValues, db);

                    //Siren
                    optionAttribute = OptionBL.GetOptionAttributeById(385);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.NumSIREN, "txt", lstOptionValues, db);

                    //Date d'immatriculation
                    optionAttribute = OptionBL.GetOptionAttributeById(386);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, (customer.DateRegistration.HasValue) ? customer.DateRegistration.Value.ToString() : "", "txt", lstOptionValues, db);

                    //Adresse fiscale
                    optionAttribute = OptionBL.GetOptionAttributeById(390);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalAddrress, "txt", lstOptionValues, db);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Adress, "txt", lstOptionValues, db);

                    // Code postal Fiscal
                    optionAttribute = OptionBL.GetOptionAttributeById(743);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalZipCode, "txt", lstOptionValues, db);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.ZipCode, "txt", lstOptionValues, db);

                    // Ville Fiscale
                    optionAttribute = OptionBL.GetOptionAttributeById(744);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.FiscalCity, "txt", lstOptionValues, db);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.City, "txt", lstOptionValues, db);

                    //Tel
                    optionAttribute = OptionBL.GetOptionAttributeById(391);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserMobilePhone, "txt", lstOptionValues, db);

                    //Fax
                    optionAttribute = OptionBL.GetOptionAttributeById(745);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Fax, "txt", lstOptionValues, db);

                    //Adresse mail
                    optionAttribute = OptionBL.GetOptionAttributeById(392);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserEmail, "txt", lstOptionValues, db);
                    #endregion

                    #region FORME JURIDIQUE
                    if (customer.IsCorporation.HasValue && customer.IsCorporation.Value && !string.IsNullOrEmpty(customer.LegalForm))
                    {
                        if (customer.LegalForm == "SA")
                        {
                            option = OptionBL.GetOptionById(542);
                        }
                        else if (customer.LegalForm == "SAS")
                        {
                            option = OptionBL.GetOptionById(543);
                        }
                        else if (customer.LegalForm == "SARL")
                        {
                            option = OptionBL.GetOptionById(544);
                        }
                        else if (customer.LegalForm == "EURL")
                        {
                            option = OptionBL.GetOptionById(545);
                        }
                        else if (customer.LegalForm.StartsWith("SC"))
                        {
                            option = OptionBL.GetOptionById(546);
                        }
                        else if (customer.LegalForm.StartsWith("Association"))
                        {
                            option = OptionBL.GetOptionById(549);
                        }
                        else if (customer.LegalForm != null && customer.LegalForm.IndexOf("Appartenance", 0) == 0)
                        {
                            option = OptionBL.GetOptionById(555);
                        }
                        else if (!string.IsNullOrEmpty(customer.LegalForm_Autre)) // Sinon on coche AUTRE
                        {
                            option = OptionBL.GetOptionById(552);

                            //Autre forme
                            optionAttribute = OptionBL.GetOptionAttributeById(387);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.LegalForm_Autre, "txt", lstOptionValues, db);
                        }

                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                        #region Société Civile (S.C.) => IS ou IR
                        if (customer.LegalForm == "SC_IS")
                        {
                            option = OptionBL.GetOptionById(547);
                        }
                        else if (customer.LegalForm == "SC_IR")
                        {
                            option = OptionBL.GetOptionById(548);
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        #endregion

                        #region Association => IS ou IR
                        if (customer.LegalForm == "Association_IS")
                        {
                            option = OptionBL.GetOptionById(550);
                        }
                        else if (customer.LegalForm == "Association_IR")
                        {
                            option = OptionBL.GetOptionById(551);
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        #endregion

                        #region Autre => IS ou IR
                        if (customer.LegalForm == "Autre_IS")
                        {
                            option = OptionBL.GetOptionById(553);
                        }
                        else if (customer.LegalForm == "Autre_IR")
                        {
                            option = OptionBL.GetOptionById(554);
                        }
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        #endregion
                    }

                    //TODO : LegalForm Champ Appartenance au Groupe
                    //optionAttribute = OptionBL.GetOptionAttributeById(652);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.LegalForm_Appartenance_Groupe, "txt", lstOptionValues, db);

                    //Pays de domiciliation
                    optionAttribute = OptionBL.GetOptionAttributeById(389);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Country, "txt", lstOptionValues, db);

                    //Resident
                    if (customer.IsResident != null)
                    {
                        if (customer.IsResident.Value)
                        {
                            option = OptionBL.GetOptionById(556);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                            //Pays de domiciliation => France par défaut
                            optionAttribute = OptionBL.GetOptionAttributeById(389);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "France", "txt", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionById(557);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                    }

                    //Gafi
                    if (customer.Gafi != null)
                    {
                        if (customer.Gafi.Value)
                        {
                            option = OptionBL.GetOptionById(559);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionById(560);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                    }

                    //Offshore
                    if (customer.OffShore != null)
                    {
                        if (customer.OffShore.Value)
                        {
                            option = OptionBL.GetOptionById(562);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionById(563);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                    }

                    #endregion

                    #region DIRIGEANT / REPRESENTANT
                    ////Nom dirigeant
                    //optionAttribute = OptionBL.GetOptionAttributeById(399);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserName, "txt", lstOptionValues, db);

                    ////Prenom dirigeant
                    //optionAttribute = OptionBL.GetOptionAttributeById(400);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserFirstName, "txt", lstOptionValues, db);

                    ////Mobile dirigeant
                    //optionAttribute = OptionBL.GetOptionAttributeById(401);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.User.UserMobilePhone, "txt", lstOptionValues, db);


                    bool activate = true;
                    if (activate)
                    {
                        //Est ce que le customer a un lien ? : copier l'info de son conjoint
                        CustomerProspectRelation customerRelation = customer.CustomerProspectRelation.Where(cr => cr.TypeRelation == CustomerProspect.CustomerProspectBL.TypeRelation.Dirigeant.ToString()).FirstOrDefault();

                        if (customerRelation != null && customerRelation.CustomerProspect1 != null)
                        {
                            #region Identity

                            //Civilité
                            #region Title
                            if (customerRelation.CustomerProspect1.Title != null && !string.IsNullOrEmpty(customerRelation.CustomerProspect1.Title))
                            {
                                if (customerRelation.CustomerProspect1.Title.CompareTo("Monsieur") == 0)
                                {
                                    option = OptionBL.GetOptionById(578);
                                }
                                else if (customerRelation.CustomerProspect1.Title.CompareTo("Madame") == 0)
                                {
                                    option = OptionBL.GetOptionById(577);
                                }
                                else if (customerRelation.CustomerProspect1.Title.CompareTo("Mademoiselle") == 0)
                                {
                                    option = OptionBL.GetOptionById(1231);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //UserName 
                            optionAttribute = OptionBL.GetOptionAttributeById(399);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserName, "txt", lstOptionValues, db);

                            //Prenom
                            optionAttribute = OptionBL.GetOptionAttributeById(400);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserFirstName, "txt", lstOptionValues, db);

                            //DateOfBirth
                            optionAttribute = OptionBL.GetOptionAttributeById(403);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, (customerRelation.CustomerProspect1.DateOfBirth.HasValue) ? customerRelation.CustomerProspect1.DateOfBirth.Value.ToString("dd/MM/yyyy") : null, "txt", lstOptionValues, db);

                            //Private phone
                            optionAttribute = OptionBL.GetOptionAttributeById(401); //???
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.PrivatePhone, "txt", lstOptionValues, db);

                            //Mobile phone
                            optionAttribute = OptionBL.GetOptionAttributeById(402);//????
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserMobilePhone, "txt", lstOptionValues, db);

                            //Email
                            optionAttribute = OptionBL.GetOptionAttributeById(747);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.User.UserEmail, "txt", lstOptionValues, db);

                            //Fax
                            optionAttribute = OptionBL.GetOptionAttributeById(746);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Fax, "txt", lstOptionValues, db);

                            //Address
                            optionAttribute = OptionBL.GetOptionAttributeById(748);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Adress, "txt", lstOptionValues, db);

                            //Code postal
                            optionAttribute = OptionBL.GetOptionAttributeById(749);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.ZipCode, "txt", lstOptionValues, db);

                            //Ville 
                            optionAttribute = OptionBL.GetOptionAttributeById(750);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.City, "txt", lstOptionValues, db);

                            //Profession
                            optionAttribute = OptionBL.GetOptionAttributeById(404);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Profession, "txt", lstOptionValues, db);

                            //Nationality
                            optionAttribute = OptionBL.GetOptionAttributeById(405);
                            SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Nationality, "txt", lstOptionValues, db);


                            //Resident
                            #region IsResident
                            if (customerRelation.CustomerProspect1.IsResident != null) //mila jerena
                            {
                                if (customerRelation.CustomerProspect1.IsResident.Value)
                                {
                                    option = OptionBL.GetOptionById(580);
                                    optionAttribute = OptionBL.GetOptionAttributeById(406);
                                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, "France", "txt", lstOptionValues, db); //France par défaut si résident
                                }
                                else
                                {
                                    option = OptionBL.GetOptionById(581);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                                //Pays de residence
                                optionAttribute = OptionBL.GetOptionAttributeById(406);
                                SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customerRelation.CustomerProspect1.Country, "txt", lstOptionValues, db); //France par défaut si résident
                            }
                            #endregion

                            //Gafi
                            #region GAFI
                            if (customerRelation.CustomerProspect1.Gafi != null)
                            {
                                if (customerRelation.CustomerProspect1.Gafi.Value)
                                {
                                    option = OptionBL.GetOptionById(584);
                                }
                                else
                                {
                                    option = OptionBL.GetOptionById(585);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion

                            //OFFSHORE
                            #region OFFSHORE
                            if (customerRelation.CustomerProspect1.OffShore != null)
                            {
                                if (customerRelation.CustomerProspect1.OffShore.Value)
                                {
                                    option = OptionBL.GetOptionById(587);
                                }
                                else
                                {
                                    option = OptionBL.GetOptionById(588);
                                }

                                SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                            }
                            #endregion
                            #endregion
                        }
                    }


                    #endregion

                    #region ORIGINE DE LA RELATION
                    //Date origine
                    if (customer.RelationshipBeginingDate.HasValue)
                    {
                        //Option client depuis
                        option = OptionBL.GetOptionById(601);
                        SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);

                        optionAttribute = OptionBL.GetOptionAttributeById(422);
                        SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.RelationshipBeginingDate.Value.ToString("dd/MM/yyyy"), "txt", lstOptionValues, db);
                    }
                    else if (!string.IsNullOrEmpty(customer.RelationshipType))
                    {
                        /*new*/
                        if (customer.RelationshipType.Equals("contactparrecommandation"))
                        {
                            //Option contact par recommandation
                            option = OptionBL.GetOptionById(605);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else if (customer.RelationshipType.Equals("clientdepuis"))
                        {
                            //Option client depuis
                            option = OptionBL.GetOptionById(601);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            //Option Autre
                            option = OptionBL.GetOptionById(612);
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        /*end new*/
                    }
                    #endregion

                    #region SOCIETE COTEE
                    //Societe cotee
                    if (customer.ListedCompany != null)
                    {
                        if (customer.ListedCompany.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_039");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_040");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }

                    }

                    #region "Societe cotee"
                    //Sur quel marché
                    optionAttribute = OptionBL.GetOptionAttributeById(393);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Market, "txt", lstOptionValues, db);

                    //Address
                    //optionAttribute = OptionBL.GetOptionAttributeById(394);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Adress, "txt", lstOptionValues, db);

                    //Code postal
                    //optionAttribute = OptionBL.GetOptionAttributeById(395);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.ZipCode, "txt", lstOptionValues, db);

                    //Ville
                    //optionAttribute = OptionBL.GetOptionAttributeById(396);
                    //SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.City, "txt", lstOptionValues, db);
                    #endregion

                    #endregion

                    #region SECTEUR ACTIVITE
                    //Industry
                    optionAttribute = OptionBL.GetOptionAttributeById(397);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.Industry, "txt", lstOptionValues, db);

                    //Autre
                    optionAttribute = OptionBL.GetOptionAttributeById(398);
                    SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.OtherIndustry, "txt", lstOptionValues, db);

                    #region HasIndustryRestriction
                    if (customer.HasIndustryRestriction != null)
                    {
                        if (customer.HasIndustryRestriction.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_049");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_050");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }

                        //Industrie restriction
                        optionAttribute = OptionBL.GetOptionAttributeById(388);
                        SetOptionToSave(idReport, optionAttribute.Option, optionAttribute, customer.IndustryRestriction, "txt", lstOptionValues, db);
                    }
                    #endregion

                    #region RestrictionPreventInvest
                    if (customer.RestrictionPreventInvest != null)
                    {
                        if (customer.RestrictionPreventInvest.Value)
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_053");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                        else
                        {
                            option = OptionBL.GetOptionByNameKey("ClientPM_Titulaire_054");
                            SetOptionToSave(idReport, option, null, null, "rb", lstOptionValues, db);
                        }
                    }
                    #endregion
                    #endregion

                    #endregion
                }


                db.SaveChanges();
                db.Dispose();
            }
            catch (Exception ex)
            {
                Log.Log.AppendException(ex);
            }
        }