コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        /// <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;
            }
        }