public ActionResult AddEmploye(int? id)
        {
            if (AccessSalon(id).IsFalse())
            {
                return RedirectError();
            }

            var model = new ViewModelFormInfoEmploye();

            return View(model);
        }
        public ActionResult AddEmploye(ViewModelFormInfoEmploye model, int? id)
        {
            if (AccessSalon(id).IsFalse())
            {
                return RedirectError();
            }

            if (ModelState.IsValid)
            {
                var reponse = Bdd.AddEmploye(id, model);
                if (reponse == 0)
                {
                    AddTempData("success", "Employé bien ajouté");
                    return RedirectToRoute("Backend_salon_employes", new { id = id });
                }

                AddTempData("error", "Erreur lors de l'ajout de l'employé");
            }

            return View(model);
        }
Example #3
0
        public int AddEmploye(int? idSalon, ViewModelFormInfoEmploye model = null)
        {
            try
            {
                if (model.IsNull() || idSalon.IsNull()) return -1;

                //On regarde si un user posséde le même email
                if(ExistUser(model.Email)) return -4;

                //On récup le salon
                var salon = GetSalonById(idSalon);
                if (salon.IsNull() || salon.FicheSalon.IsNull()) return -1;

                var employe = new Employe
                {
                    Nom = model.Nom,
                    Prenom = model.Prenom,
                    Email = model.Email,
                    Genre = model.GenreId == 1,
                    Salon = salon,
                    Password = model.Password.ToMd5(),
                    IdRole = 2
                };
                //employe.Image = model.Image;

                var disponibilites = GetDisponibiliteInit();
                
                var lundi = disponibilites.FirstOrDefault(d => d.IdJour == 1);
                var mardi = disponibilites.FirstOrDefault(d => d.IdJour == 2);
                var mercredi = disponibilites.FirstOrDefault(d => d.IdJour == 3);
                var jeudi = disponibilites.FirstOrDefault(d => d.IdJour == 4);
                var vendredi = disponibilites.FirstOrDefault(d => d.IdJour == 5);
                var samedi = disponibilites.FirstOrDefault(d => d.IdJour == 6);
                var dimanche = 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();

                employe.Horaires = new List<Horaire>
                {
                    new Horaire
                    {
                        Disponibilites = disponibilites,
                        IdSalon = (int)idSalon
                    }
                };

                Users.Add(employe);

                //Update des infos du salon (nombre employés)
                Entry(salon.FicheSalon).State = EntityState.Modified;
                salon.FicheSalon.NombreEmployes++;

                SaveChanges();
                return 0;
            }
            catch (Exception e)
            {
                var g = e.Message;
                return -1;
            }
        }