private List<Disponibilite> CreateListeJourOuvertures(ViewModelFormUpdateSalon model = null)
        {
            try
            {
                if (model.IsNull()) return null;

                //Création des jours
                var listeJour = GetDisponibiliteInit();

                //On attribut les jours
                var lundi = new Disponibilite();
                var mardi = new Disponibilite();
                var mercredi = new Disponibilite();
                var jeudi = new Disponibilite();
                var vendredi = new Disponibilite();
                var samedi = new Disponibilite();
                var dimanche = new Disponibilite();

                foreach (var j in listeJour.Where(j => !j.IsNull() && !j.Jour.IsNull()))
                {
                    switch (j.Jour.Id)
                    {
                        case 1:
                            lundi = j;
                            break;
                        case 2:
                            mardi = j;
                            break;
                        case 3:
                            mercredi = j;
                            break;
                        case 4:
                            jeudi = j;
                            break;
                        case 5:
                            vendredi = j;
                            break;
                        case 6:
                            samedi = j;
                            break;
                        case 7:
                            dimanche = j;
                            break;
                    }
                }

                //Attribution horaire lundi
                lundi.CreneauMatin.DebutHeure = model.LundiOuvertureMatin.Split(':').First().ToInt();
                lundi.CreneauMatin.DebutMinute = model.LundiOuvertureMatin.Split(':').Last().ToInt();
                lundi.CreneauMatin.FinHeure = model.LundiFermetureMatin.Split(':').First().ToInt();
                lundi.CreneauMatin.FinMinute = model.LundiFermetureMatin.Split(':').Last().ToInt();

                lundi.CreneauAprem.DebutHeure = model.LundiOuvertureAprem.Split(':').First().ToInt();
                lundi.CreneauAprem.DebutMinute = model.LundiOuvertureAprem.Split(':').Last().ToInt();
                lundi.CreneauAprem.FinHeure = model.LundiFermetureAprem.Split(':').First().ToInt();
                lundi.CreneauAprem.FinMinute = model.LundiFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire mardi
                mardi.CreneauMatin.DebutHeure = model.MardiOuvertureMatin.Split(':').First().ToInt();
                mardi.CreneauMatin.DebutMinute = model.MardiOuvertureMatin.Split(':').Last().ToInt();
                mardi.CreneauMatin.FinHeure = model.MardiFermetureMatin.Split(':').First().ToInt();
                mardi.CreneauMatin.FinMinute = model.MardiFermetureMatin.Split(':').Last().ToInt();

                mardi.CreneauAprem.DebutHeure = model.MardiOuvertureAprem.Split(':').First().ToInt();
                mardi.CreneauAprem.DebutMinute = model.MardiOuvertureAprem.Split(':').Last().ToInt();
                mardi.CreneauAprem.FinHeure = model.MardiFermetureAprem.Split(':').First().ToInt();
                mardi.CreneauAprem.FinMinute = model.MardiFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire mercredi
                mercredi.CreneauMatin.DebutHeure = model.MercrediOuvertureMatin.Split(':').First().ToInt();
                mercredi.CreneauMatin.DebutMinute = model.MercrediOuvertureMatin.Split(':').Last().ToInt();
                mercredi.CreneauMatin.FinHeure = model.MercrediFermetureMatin.Split(':').First().ToInt();
                mercredi.CreneauMatin.FinMinute = model.MercrediFermetureMatin.Split(':').Last().ToInt();

                mercredi.CreneauAprem.DebutHeure = model.MercrediOuvertureAprem.Split(':').First().ToInt();
                mercredi.CreneauAprem.DebutMinute = model.MercrediOuvertureAprem.Split(':').Last().ToInt();
                mercredi.CreneauAprem.FinHeure = model.MercrediFermetureAprem.Split(':').First().ToInt();
                mercredi.CreneauAprem.FinMinute = model.MercrediFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire jeudi
                jeudi.CreneauMatin.DebutHeure = model.JeudiOuvertureMatin.Split(':').First().ToInt();
                jeudi.CreneauMatin.DebutMinute = model.JeudiOuvertureMatin.Split(':').Last().ToInt();
                jeudi.CreneauMatin.FinHeure = model.JeudiFermetureMatin.Split(':').First().ToInt();
                jeudi.CreneauMatin.FinMinute = model.JeudiFermetureMatin.Split(':').Last().ToInt();

                jeudi.CreneauAprem.DebutHeure = model.JeudiOuvertureAprem.Split(':').First().ToInt();
                jeudi.CreneauAprem.DebutMinute = model.JeudiOuvertureAprem.Split(':').Last().ToInt();
                jeudi.CreneauAprem.FinHeure = model.JeudiFermetureAprem.Split(':').First().ToInt();
                jeudi.CreneauAprem.FinMinute = model.JeudiFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire vendredi
                vendredi.CreneauMatin.DebutHeure = model.VendrediOuvertureMatin.Split(':').First().ToInt();
                vendredi.CreneauMatin.DebutMinute = model.VendrediOuvertureMatin.Split(':').Last().ToInt();
                vendredi.CreneauMatin.FinHeure = model.VendrediFermetureMatin.Split(':').First().ToInt();
                vendredi.CreneauMatin.FinMinute = model.VendrediFermetureMatin.Split(':').Last().ToInt();

                vendredi.CreneauAprem.DebutHeure = model.VendrediOuvertureAprem.Split(':').First().ToInt();
                vendredi.CreneauAprem.DebutMinute = model.VendrediOuvertureAprem.Split(':').Last().ToInt();
                vendredi.CreneauAprem.FinHeure = model.VendrediFermetureAprem.Split(':').First().ToInt();
                vendredi.CreneauAprem.FinMinute = model.VendrediFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire samedi
                samedi.CreneauMatin.DebutHeure = model.SamediOuvertureMatin.Split(':').First().ToInt();
                samedi.CreneauMatin.DebutMinute = model.SamediOuvertureMatin.Split(':').Last().ToInt();
                samedi.CreneauMatin.FinHeure = model.SamediFermetureMatin.Split(':').First().ToInt();
                samedi.CreneauMatin.FinMinute = model.SamediFermetureMatin.Split(':').Last().ToInt();

                samedi.CreneauAprem.DebutHeure = model.SamediOuvertureAprem.Split(':').First().ToInt();
                samedi.CreneauAprem.DebutMinute = model.SamediOuvertureAprem.Split(':').Last().ToInt();
                samedi.CreneauAprem.FinHeure = model.SamediFermetureAprem.Split(':').First().ToInt();
                samedi.CreneauAprem.FinMinute = model.SamediFermetureAprem.Split(':').Last().ToInt();

                //Attribution horaire dimanche
                dimanche.CreneauMatin.DebutHeure = model.DimancheOuvertureMatin.Split(':').First().ToInt();
                dimanche.CreneauMatin.DebutMinute = model.DimancheOuvertureMatin.Split(':').Last().ToInt();
                dimanche.CreneauMatin.FinHeure = model.DimancheFermetureMatin.Split(':').First().ToInt();
                dimanche.CreneauMatin.FinMinute = model.DimancheFermetureMatin.Split(':').Last().ToInt();

                dimanche.CreneauAprem.DebutHeure = model.DimancheOuvertureAprem.Split(':').First().ToInt();
                dimanche.CreneauAprem.DebutMinute = model.DimancheOuvertureAprem.Split(':').Last().ToInt();
                dimanche.CreneauAprem.FinHeure = model.DimancheFermetureAprem.Split(':').First().ToInt();
                dimanche.CreneauAprem.FinMinute = model.DimancheFermetureAprem.Split(':').Last().ToInt();

                return new List<Disponibilite>
                {
                    lundi,
                    mardi,
                    mercredi,
                    jeudi,
                    vendredi,
                    samedi,
                    dimanche
                };
            }
            catch (Exception)
            {
                return null;
            }
        }
        /// <summary>
        ///     Permet de mettre à jour les informations du salon
        /// </summary>
        /// <param name="idSalon">Id du salon</param>
        /// <param name="model">Le form</param>
        /// <returns>bool</returns>
        public bool UpdateSalon(int? idSalon, ViewModelFormUpdateSalon model = null)
        {
            try
            {
                if (model.IsNull() || idSalon.IsNull()) return false;

                //Création de la nouvelle liste d'ouverture
                var listeJours = CreateListeJourOuvertures(model);
                if (listeJours.IsEmpty()) return false;

                //On récup le salon
                var salon = GetSalonById(idSalon);
                if (salon.IsNull()) return false;

                if (LoadFicheSalon(salon).IsFalse()) return false;


                //Update des infos du salon
                Entry(salon.FicheSalon).State = EntityState.Modified;
                salon.FicheSalon.Adresse = model.Adresse;
                salon.FicheSalon.CodePostal = model.CodePostal;
                salon.FicheSalon.Pays = model.Pays;
                salon.FicheSalon.Nom = model.NomSalon;
                salon.FicheSalon.Ville = model.NomVille;
                salon.FicheSalon.Description = model.DescriptionSalon;

                //On regarde si il y a une photo de profil du salon
                var rform = new RForm();
                var filename = rform.GetImage("~/Content/ImagesSalons/", "file", 400, 400);
                if (filename.IsNotNullOrEmpty())
                    salon.FicheSalon.ImageProfil = filename;

                //Update jour ouverture
                foreach (var jour1 in salon.FicheSalon.JourOuvertures.Where(j => j.IsNotNull()))
                {
                    foreach (
                        var jour2 in
                            listeJours.Where(j => j.IsNotNull()).Where(jour2 => jour2.Jour.Id.Equals(jour1.IdJour)))
                    {
                        jour1.CreneauMatin = jour2.CreneauMatin;
                        jour1.CreneauAprem = jour2.CreneauAprem;
                        break;
                    }
                }

                SaveChanges();
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }