/// <summary> /// Permet d'ajouter un salon /// </summary> /// <param name="admin">AdministrateurFranchise</param> /// <param name="salon">Salon</param> /// <returns>bool</returns> public int AddSalon(ViewModelFormAddSalon model = null) { try { if (model.IsNull()) return 0; var salon = new Salon { FicheSalon = new FicheSalon { JourOuvertures = GetDisponibiliteInit(), Adresse = model.Adresse, CodePostal = model.CodePostal, Pays = model.Pays, Ville = model.NomVille, NombreEmployes = 0, Nom = model.NomSalon, Description = model.DescriptionSalon }, ListeAvis = new List<Avis>(), ListeEmployes = new List<Employe>(), Moyenne = 0, PrestationClients = new List<ReservationClient>(), IdAbonnement = model.AbonnementId, }; if (salon.IsNull()) return 0; //On regarde si il y a une photo de profil du salon var rform = new RForm(); salon.FicheSalon.ImageProfil = rform.GetImage("~/Content/ImagesSalons/", "file", 400, 400); Salons.Add(salon); SaveChanges(); return salon.Id; } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { var g = ve.ErrorMessage; Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } return 0; } }
/// <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; } }