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