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; } }