public ActionResult ProfilEmploye(int id, int idemploye) { if (AccessSalon(id).IsFalse() || id.IsNull()) { return RedirectError(); } //On récup l'employé via l'id var employe = Bdd.GetEmployeById(idemploye); if (employe.IsNull()) return RedirectError(); employe.Salon = employe.Salon; employe.Horaires = employe.Horaires.Where(h => h.IdSalon == id).ToList(); if (employe.Horaires.IsEmpty()) return RedirectError(); var horaire = employe.Horaires.First(); if (horaire.IsNull()) return RedirectError(); var disponibilite = horaire.Disponibilites; if (disponibilite.IsNull()) return RedirectError(); if (TempData["Error"].IsNotNull()) ViewBag.Error = TempData["Error"]; if (TempData["Success"].IsNotNull()) ViewBag.Success = TempData["Success"]; var model = new ViewModelFormUpdateEmploye { //Salons = employe.Salon, Nom = employe.Nom, Prenom = employe.Prenom, Email = employe.Email, GenreId = employe.Genre ? 1 : 2, LundiOuvertureMatin = GetJour(1, disponibilite).CreneauMatin.GetHeureOuverture(), LundiFermetureMatin = GetJour(1, disponibilite).CreneauMatin.GetHeureFermeture(), LundiOuvertureAprem = GetJour(1, disponibilite).CreneauAprem.GetHeureOuverture(), LundiFermetureAprem = GetJour(1, disponibilite).CreneauAprem.GetHeureFermeture(), MardiOuvertureMatin = GetJour(2, disponibilite).CreneauMatin.GetHeureOuverture(), MardiFermetureMatin = GetJour(2, disponibilite).CreneauMatin.GetHeureFermeture(), MardiOuvertureAprem = GetJour(2, disponibilite).CreneauAprem.GetHeureOuverture(), MardiFermetureAprem = GetJour(2, disponibilite).CreneauAprem.GetHeureFermeture(), MercrediOuvertureMatin = GetJour(3, disponibilite).CreneauMatin.GetHeureOuverture(), MercrediFermetureMatin = GetJour(3, disponibilite).CreneauMatin.GetHeureFermeture(), MercrediOuvertureAprem = GetJour(3, disponibilite).CreneauAprem.GetHeureOuverture(), MercrediFermetureAprem = GetJour(3, disponibilite).CreneauAprem.GetHeureFermeture(), JeudiOuvertureMatin = GetJour(4, disponibilite).CreneauMatin.GetHeureOuverture(), JeudiFermetureMatin = GetJour(4, disponibilite).CreneauMatin.GetHeureFermeture(), JeudiOuvertureAprem = GetJour(4, disponibilite).CreneauAprem.GetHeureOuverture(), JeudiFermetureAprem = GetJour(4, disponibilite).CreneauAprem.GetHeureFermeture(), VendrediOuvertureMatin = GetJour(5, disponibilite).CreneauMatin.GetHeureOuverture(), VendrediFermetureMatin = GetJour(5, disponibilite).CreneauMatin.GetHeureFermeture(), VendrediOuvertureAprem = GetJour(5, disponibilite).CreneauAprem.GetHeureOuverture(), VendrediFermetureAprem = GetJour(5, disponibilite).CreneauAprem.GetHeureFermeture(), SamediOuvertureMatin = GetJour(6, disponibilite).CreneauMatin.GetHeureOuverture(), SamediFermetureMatin = GetJour(6, disponibilite).CreneauMatin.GetHeureFermeture(), SamediOuvertureAprem = GetJour(6, disponibilite).CreneauAprem.GetHeureOuverture(), SamediFermetureAprem = GetJour(6, disponibilite).CreneauAprem.GetHeureFermeture(), DimancheOuvertureMatin = GetJour(7, disponibilite).CreneauMatin.GetHeureOuverture(), DimancheFermetureMatin = GetJour(7, disponibilite).CreneauMatin.GetHeureFermeture(), DimancheOuvertureAprem = GetJour(7, disponibilite).CreneauAprem.GetHeureOuverture(), DimancheFermetureAprem = GetJour(7, disponibilite).CreneauAprem.GetHeureFermeture(), }; return View(model); }
public ActionResult ProfilEmploye(ViewModelFormUpdateEmploye model, int id, int? idEmploye) { if (AccessSalon(id).IsFalse() || model.IsNull() || idEmploye.IsNull()) { return RedirectError(); } if (ModelState.IsValid) { switch (Bdd.UpdateEmploye(idEmploye, id, model)) { case 0: TempData["Success"] = "Modification de l'employé réussit"; break; case -1: TempData["Error"] = "Erreur lors de la récupération des informations"; break; case -2: TempData["Error"] = "Erreur lors de la récupération de l'employé"; break; case -3: TempData["Error"] = "Erreur lors de la récupération des horaires de travail de l'employé, contacter un administrateur"; break; case -4: TempData["Error"] = "Un utilisateur posséde déjà cet email, merci d'en choisir un autre"; break; case -5: TempData["Error"] = "Erreur lors de la récupération des horaires de travail de l'employé, contacter un administrateur"; break; default: break; } return RedirectToRoute("Backend_salon_profilemploye", new { id = id, idEmploye = idEmploye }); } return View(model); }
/// <summary> /// Permet de modifier un employé /// </summary> /// <param name="idEmploye">L'id de l'employé</param> /// <param name="idSalon">L'id du salon</param> /// <param name="model">Le model de modification</param> /// <returns>int</returns> public int UpdateEmploye(int? idEmploye, int? idSalon, ViewModelFormUpdateEmploye model = null) { try { if (model.IsNull() || idEmploye.IsNull() || idSalon.IsNull()) return -1; var employe = GetEmployeById(idEmploye); if (employe.IsNull()) return -2; var horaire = employe.Horaires.FirstOrDefault(j => j.IsNotNull() && j.IdSalon == idSalon); if (horaire.IsNull()) return -3; //On regarde si un user posséde le même email var user = GetUserByEmailExceptId(idEmploye, model.Email); if (user.IsNotNull()) return -4; employe.Nom = model.Nom; employe.Prenom = model.Prenom; employe.Email = model.Email; //employe.Image = model.Image; employe.Genre = model.GenreId == 1 ? true : false; var lundi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 1); var mardi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 2); var mercredi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 3); var jeudi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 4); var vendredi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 5); var samedi = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 6); var dimanche = horaire.Disponibilites.FirstOrDefault(d => d.IdJour == 7); if (lundi.IsNull() || mardi.IsNull() || mercredi.IsNull() || jeudi.IsNull() || vendredi.IsNull() || samedi.IsNull() || dimanche.IsNull()) return -5; //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(); Entry(employe).State = EntityState.Modified; SaveChanges(); return 0; } catch (Exception) { return -1; } }